ultimatepos/Modules/QualityManagement/Http/Controllers/DataController.php

70 lines
3.5 KiB
PHP

<?php
namespace Modules\QualityManagement\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' => 'qualitymanagement_module', 'label' => __('qualitymanagement::lang.module_name'), 'default' => false],
];
}
public function user_permissions()
{
return [
['value' => 'qms.access', 'label' => __('qualitymanagement::lang.access'), 'default' => false],
['value' => 'qms.ncr.view', 'label' => __('qualitymanagement::lang.ncr_view'), 'default' => false],
['value' => 'qms.ncr.create', 'label' => __('qualitymanagement::lang.ncr_create'), 'default' => false],
['value' => 'qms.ncr.update', 'label' => __('qualitymanagement::lang.ncr_update'), 'default' => false],
['value' => 'qms.capa.view', 'label' => __('qualitymanagement::lang.capa_view'), 'default' => false],
['value' => 'qms.capa.create', 'label' => __('qualitymanagement::lang.capa_create'), 'default' => false],
['value' => 'qms.capa.update', 'label' => __('qualitymanagement::lang.capa_update'), 'default' => false],
['value' => 'qms.fmea.view', 'label' => __('qualitymanagement::lang.fmea_view'), 'default' => false],
['value' => 'qms.fmea.create', 'label' => __('qualitymanagement::lang.fmea_create'), 'default' => false],
['value' => 'qms.spc.view', 'label' => __('qualitymanagement::lang.spc_view'), 'default' => false],
['value' => 'qms.spc.create', 'label' => __('qualitymanagement::lang.spc_create'), 'default' => false],
['value' => 'qms.calibration.view', 'label' => __('qualitymanagement::lang.calibration_view'), 'default' => false],
['value' => 'qms.calibration.create', 'label' => __('qualitymanagement::lang.calibration_create'), 'default' => false],
['value' => 'qms.calibration.update', 'label' => __('qualitymanagement::lang.calibration_update'), 'default' => false],
['value' => 'qms.audit.view', 'label' => __('qualitymanagement::lang.audit_view'), 'default' => false],
['value' => 'qms.audit.create', 'label' => __('qualitymanagement::lang.audit_create'), 'default' => false],
['value' => 'qms.document.view', 'label' => __('qualitymanagement::lang.document_view'), 'default' => false],
['value' => 'qms.document.create', 'label' => __('qualitymanagement::lang.document_create'), 'default' => false],
];
}
public function modifyAdminMenu()
{
$module_util = new ModuleUtil();
$business_id = session()->get('user.business_id');
if (! \Module::has('QualityManagement') || ! \Module::isEnabled('QualityManagement')) {
return;
}
if (! $module_util->isModuleInstalled('QualityManagement')
|| ! $module_util->hasThePermissionInSubscription($business_id, 'qualitymanagement_module')) {
return;
}
if (! auth()->user()->can('qms.access')) {
return;
}
Menu::modify('admin-sidebar-menu', function ($menu) {
$menu->url(
action([\Modules\QualityManagement\Http\Controllers\DashboardController::class, 'index']),
__('qualitymanagement::lang.module_name'),
['icon' => 'fa fa-check-circle', 'active' => request()->segment(1) == 'qualitymanagement']
)->order(42);
});
}
}