![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/Modules/Crm/Http/Middleware/ |
<?php namespace Modules\Crm\Http\Middleware; use App\Business; use App\Contact; use Closure; use Illuminate\Http\Request; use Menu; class ContactSidebarMenu { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { if ($request->ajax()) { return $next($request); } Menu::create('contact-sidebar-menu', function ($menu) { //retrieve contact type $contact = Contact::where('business_id', auth()->user()->business_id) ->findOrFail(auth()->user()->crm_contact_id); $crm_settings = Business::where('id', auth()->user()->business_id) ->value('crm_settings'); $crm_settings = ! empty($crm_settings) ? json_decode($crm_settings, true) : []; $menu->url(action([\Modules\Crm\Http\Controllers\DashboardController::class, 'index']), __('home.home'), ['icon' => 'fa fas fa-tachometer-alt', 'active' => request()->segment(1) == 'contact' && request()->segment(2) == 'contact-dashboard'])->order(1); if (in_array($contact->type, ['supplier', 'both'])) { $menu->url(action([\Modules\Crm\Http\Controllers\PurchaseController::class, 'getPurchaseList']), __('purchase.list_purchase'), ['icon' => 'fa fas fa-list', 'active' => request()->segment(1) == 'contact' && request()->segment(2) == 'contact-purchases'])->order(2); } if (in_array($contact->type, ['customer', 'both'])) { $menu->url(action([\Modules\Crm\Http\Controllers\SellController::class, 'getSellList']), __('lang_v1.all_sales'), ['icon' => 'fa fas fa-list', 'active' => request()->segment(1) == 'contact' && request()->segment(2) == 'contact-sells'])->order(3); if (! empty($crm_settings['enable_order_request'])) { $menu->url(action([\Modules\Crm\Http\Controllers\OrderRequestController::class, 'index']), __('crm::lang.order_request'), ['icon' => 'fa fas fa-arrow-circle-up', 'active' => request()->segment(1) == 'contact' && request()->segment(2) == 'order-request'])->order(4); } } $menu->url(action([\Modules\Crm\Http\Controllers\LedgerController::class, 'index']), __('lang_v1.ledger'), ['icon' => 'fas fa-scroll', 'active' => request()->segment(1) == 'contact' && request()->segment(2) == 'contact-ledger'])->order(3); $enabled_modules = ! empty(session('business.enabled_modules')) ? session('business.enabled_modules') : []; if (in_array('booking', $enabled_modules)) { $menu->url(action([\Modules\Crm\Http\Controllers\ContactBookingController::class, 'index']), __('restaurant.bookings'), ['icon' => 'fas fa fa-calendar-check', 'active' => request()->segment(1) == 'bookings'])->order(3); } }); return $next($request); } }