ultimatepos/Modules/AdvancedPlanning/Http/Controllers/DataController.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);
});
}
}