'advanced_planning_module', 'label' => __('advancedplanning::lang.module_name'), 'default' => false, ], ]; } public function user_permissions() { return [ ['value' => 'ap.access', 'label' => __('advancedplanning::lang.access'), 'default' => false], ['value' => 'ap.view', 'label' => __('advancedplanning::lang.view_dashboard'), 'default' => false], ['value' => 'ap.resources.view', 'label' => __('advancedplanning::lang.resources_view'), 'default' => false], ['value' => 'ap.resources.manage', 'label' => __('advancedplanning::lang.resources_manage'), 'default' => false], ['value' => 'ap.schedule.view', 'label' => __('advancedplanning::lang.schedule_view'), 'default' => false], ['value' => 'ap.schedule.run', 'label' => __('advancedplanning::lang.schedule_run'), 'default' => false], ['value' => 'ap.sop.view', 'label' => __('advancedplanning::lang.sop_view'), 'default' => false], ['value' => 'ap.sop.manage', 'label' => __('advancedplanning::lang.sop_manage'), 'default' => false], ]; } public function modifyAdminMenu() { if (! \Module::has('AdvancedPlanning') || ! \Module::isEnabled('AdvancedPlanning')) { return; } $module_util = new ModuleUtil(); if (! $module_util->isModuleInstalled('AdvancedPlanning')) { return; } $user = auth()->user(); if (! $user->can('ap.access') && ! $user->can('ap.view')) { return; } Menu::modify('admin-sidebar-menu', function ($menu) { $menu->dropdown( __('advancedplanning::lang.module_name'), function ($sub) { $user = auth()->user(); if ($user->can('ap.view') || $user->can('ap.access')) { $sub->url(action([DashboardController::class, 'index']), __('advancedplanning::lang.dashboard'), ['active' => request()->segment(2) == 'dashboard']); } if ($user->can('ap.resources.view')) { $sub->url(action([CapacityResourceController::class, 'index']), __('advancedplanning::lang.capacity_resources'), ['active' => request()->segment(2) == 'capacity-resources']); } if ($user->can('ap.schedule.view')) { $sub->url(action([ScheduleRunController::class, 'index']), __('advancedplanning::lang.schedule_runs'), ['active' => request()->segment(2) == 'schedule-runs']); } if ($user->can('ap.sop.view')) { $sub->url(action([SopCycleController::class, 'index']), __('advancedplanning::lang.sop_cycles'), ['active' => request()->segment(2) == 'sop-cycles']); } }, ['icon' => MenuIcons::svg('calendar'), 'active' => request()->segment(1) == 'advanced-planning', 'data-module' => 'AdvancedPlanning', 'data-menu-group' => 'planning'] )->order(87); }); } }