77 lines
3.4 KiB
PHP
77 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace Modules\AdvancedPlanning\Http\Controllers;
|
|
|
|
use App\Http\MenuIcons;
|
|
use App\Utils\ModuleUtil;
|
|
use Illuminate\Routing\Controller;
|
|
use Menu;
|
|
|
|
class DataController extends Controller
|
|
{
|
|
public function superadmin_package()
|
|
{
|
|
return [
|
|
[
|
|
'name' => '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);
|
|
});
|
|
}
|
|
}
|