ultimatepos/Modules/Crm/Resources/views/layouts/nav.blade.php

272 lines
16 KiB
PHP

<section class="no-print">
@include('crm::layouts.styles')
<nav class="navbar navbar-default crm-nav-wrap">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#crm-navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand crm-nav-brand" href="{{action([\Modules\Crm\Http\Controllers\CrmDashboardController::class, 'index'])}}">
<i class="fas fa-broadcast-tower"></i>
{{__('crm::lang.crm')}}
</a>
</div>
<div class="collapse navbar-collapse" id="crm-navbar-collapse">
@php
$business_id = $__business_id ?? session()->get('user.business_id', auth()->user()->business_id ?? null);
$crm_settings_nav = $__crm_settings ?? \Modules\Crm\Utils\TelemarketingUtil::mergeSettings(
(new \Modules\Crm\Utils\CrmUtil())->getCrmSettings($business_id)
);
$is_admin_nav = $__is_admin ?? app(\App\Utils\Util::class)->is_admin(auth()->user(), $business_id);
$tm_enabled = ! empty($crm_settings_nav['enable_telemarketing']);
$can_telemarketing = auth()->user()->can('superadmin')
|| auth()->user()->can('crm.telemarketing.access')
|| $is_admin_nav
|| auth()->user()->can('crm.access_all_leads')
|| auth()->user()->can('crm.access_own_leads');
$seg2 = request()->segment(2);
$seg3 = request()->segment(3);
$tax_type = request()->get('type');
$tm_active = $tm_enabled && $can_telemarketing && (
$seg2 === 'telemarketing' || $seg2 === 'phone-list'
);
$more_active = in_array($seg2, [
'reports', 'proposal-template', 'proposals', 'call-log',
'all-contacts-login', 'commissions', 'settings', 'b2b-marketplace',
], true) || in_array($tax_type, ['source', 'life_stage', 'followup_category'], true);
@endphp
<ul class="nav navbar-nav">
@if(auth()->user()->can('crm.access_all_leads') || auth()->user()->can('crm.access_own_leads'))
<li @if($seg2 == 'leads') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\LeadController::class, 'index']). '?lead_view=list_view'}}">
<i class="fas fa-user-tag"></i> @lang('crm::lang.leads')
</a>
</li>
@endif
@if(auth()->user()->can('crm.access_all_schedule') || auth()->user()->can('crm.access_own_schedule'))
<li @if($seg2 == 'follow-ups') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ScheduleController::class, 'index'])}}">
<i class="fas fa-calendar-check"></i> @lang('crm::lang.follow_ups')
</a>
</li>
@endif
@if(auth()->user()->can('crm.access_all_campaigns') || auth()->user()->can('crm.access_own_campaigns'))
<li @if($seg2 == 'campaigns') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CampaignController::class, 'index'])}}">
<i class="fas fa-bullhorn"></i> @lang('crm::lang.campaigns')
</a>
</li>
@endif
@if($tm_enabled && $can_telemarketing)
<li class="dropdown @if($tm_active) active @endif">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-headset"></i> @lang('crm::lang.nav_group_telemarketing') <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li @if($seg2 == 'telemarketing' && empty($seg3)) class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CallWorkspaceController::class, 'index'])}}">
<i class="fas fa-headset"></i> @lang('crm::lang.nav_tm_workspace')
</a>
</li>
@if(auth()->user()->can('crm.access_all_leads') || auth()->user()->can('crm.access_own_leads'))
<li @if($seg2 == 'phone-list') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\PhoneListController::class, 'index'])}}">
<i class="fas fa-list-ol"></i> @lang('crm::lang.phone_list')
</a>
</li>
@endif
@if($is_admin_nav || auth()->user()->can('crm.telemarketing.view_all_queue'))
<li @if($seg2 == 'telemarketing' && $seg3 == 'queue') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CallQueueController::class, 'index'])}}">
<i class="fas fa-list"></i> @lang('crm::lang.call_queue')
</a>
</li>
@endif
@if(
($is_admin_nav || auth()->user()->can('crm.telemarketing.supervisor_dashboard'))
|| ($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_companies'))
|| ($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_offers'))
|| ($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_scripts'))
)
<li role="separator" class="divider"></li>
<li class="dropdown-header">@lang('crm::lang.nav_tm_management')</li>
@endif
@if($is_admin_nav || auth()->user()->can('crm.telemarketing.supervisor_dashboard'))
<li @if($seg2 == 'telemarketing' && $seg3 == 'dashboard') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\TelemarketingDashboardController::class, 'index'])}}">
<i class="fas fa-chart-line"></i> @lang('crm::lang.supervisor_dashboard')
</a>
</li>
@endif
@if($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_companies'))
<li @if($seg2 == 'telemarketing' && $seg3 == 'companies') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CompanyProfileController::class, 'index'])}}">
<i class="fas fa-building"></i> @lang('crm::lang.companies')
</a>
</li>
@endif
@if($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_offers'))
<li @if($seg2 == 'telemarketing' && $seg3 == 'offers') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\OfferCatalogController::class, 'index'])}}">
<i class="fas fa-gift"></i> @lang('crm::lang.offer_catalog')
</a>
</li>
@endif
@if($is_admin_nav || auth()->user()->can('crm.telemarketing.manage_scripts'))
<li @if($seg2 == 'telemarketing' && $seg3 == 'scripts') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CallScriptController::class, 'index'])}}">
<i class="fas fa-scroll"></i> @lang('crm::lang.call_scripts')
</a>
</li>
@endif
</ul>
</li>
@elseif(auth()->user()->can('crm.access_all_leads') || auth()->user()->can('crm.access_own_leads'))
<li @if($seg2 == 'phone-list') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\PhoneListController::class, 'index'])}}">
<i class="fas fa-list-ol"></i> @lang('crm::lang.phone_list')
</a>
</li>
@endif
<li class="dropdown @if($more_active) active @endif">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-h"></i> @lang('crm::lang.nav_group_more') <span class="caret"></span>
</a>
<ul class="dropdown-menu">
@can('crm.view_reports')
<li @if($seg2 == 'reports') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ReportController::class, 'index'])}}">
<i class="fas fa-chart-bar"></i> @lang('report.reports')
</a>
</li>
@endcan
@if((auth()->user()->can('crm.view_all_call_log') || auth()->user()->can('crm.view_own_call_log')) && config('constants.enable_crm_call_log'))
<li @if($seg2 == 'call-log') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CallLogController::class, 'index'])}}">
<i class="fas fa-phone-alt"></i> @lang('crm::lang.call_log')
</a>
</li>
@endif
<li @if($seg2 == 'proposals') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ProposalController::class, 'index'])}}">
<i class="fas fa-file-contract"></i> @lang('crm::lang.proposals')
</a>
</li>
<li @if($seg2 == 'proposal-template') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ProposalTemplateController::class, 'index'])}}">
<i class="fas fa-file-alt"></i> @lang('crm::lang.proposal_template')
</a>
</li>
@can('crm.access_contact_login')
<li role="separator" class="divider"></li>
<li @if($seg2 == 'all-contacts-login') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ContactLoginController::class, 'allContactsLoginList'])}}">
<i class="fas fa-sign-in-alt"></i> @lang('crm::lang.contacts_login')
</a>
</li>
<li @if($seg2 == 'commissions') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\ContactLoginController::class, 'commissions'])}}">
<i class="fas fa-percent"></i> @lang('crm::lang.commissions')
</a>
</li>
@endcan
@if(
auth()->user()->can('crm.access_sources')
|| auth()->user()->can('crm.access_life_stage')
)
<li role="separator" class="divider"></li>
@endif
@can('crm.access_sources')
<li @if($tax_type == 'source') class="active" @endif>
<a href="{{action([\App\Http\Controllers\TaxonomyController::class, 'index']) . '?type=source'}}">
<i class="fas fa-search"></i> @lang('crm::lang.sources')
</a>
</li>
@endcan
@can('crm.access_life_stage')
<li @if($tax_type == 'life_stage') class="active" @endif>
<a href="{{action([\App\Http\Controllers\TaxonomyController::class, 'index']) . '?type=life_stage'}}">
<i class="fas fa-life-ring"></i> @lang('crm::lang.life_stage')
</a>
</li>
<li @if($tax_type == 'followup_category') class="active" @endif>
<a href="{{action([\App\Http\Controllers\TaxonomyController::class, 'index']) . '?type=followup_category'}}">
<i class="fas fa-tags"></i> @lang('crm::lang.followup_category')
</a>
</li>
@endcan
@if(auth()->user()->can('crm.access_b2b_marketplace') && config('constants.enable_b2b_marketplace'))
<li @if($seg2 == 'b2b-marketplace') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CrmMarketplaceController::class, 'index'])}}">
<i class="fas fa-store"></i> @lang('crm::lang.b2b_marketplace')
</a>
</li>
@endif
<li role="separator" class="divider"></li>
<li @if($seg2 == 'settings') class="active" @endif>
<a href="{{action([\Modules\Crm\Http\Controllers\CrmSettingsController::class, 'index'])}}">
<i class="fas fa-cog"></i> @lang('business.settings')
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</section>
<script>
(function initCrmNavDropdowns() {
if (typeof jQuery === 'undefined') {
setTimeout(initCrmNavDropdowns, 50);
return;
}
jQuery(function ($) {
var $nav = $('.crm-nav-wrap');
$nav.on('click', '.dropdown-toggle', function (e) {
e.preventDefault();
e.stopPropagation();
var $item = $(this).closest('.dropdown');
var willOpen = !$item.hasClass('open');
$nav.find('.dropdown').removeClass('open');
if (willOpen) {
$item.addClass('open');
}
});
$(document).on('click', function () {
$nav.find('.dropdown').removeClass('open');
});
$nav.on('click', '.dropdown-menu', function (e) {
e.stopPropagation();
});
});
})();
</script>