Permission and menu management updates for Hospital Stock and OPD access
This commit is contained in:
parent
16f3c95053
commit
5bae9088f3
|
|
@ -57,6 +57,14 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'title' => 'Stock Manager',
|
||||
'description' => 'Manages stock masters, approvals, and procurement.',
|
||||
],
|
||||
'stock_requester' => [
|
||||
'title' => 'Stock Requester',
|
||||
'description' => 'Compatibility role for users who create stock indents.',
|
||||
],
|
||||
'stock_issuer' => [
|
||||
'title' => 'Stock Issuer',
|
||||
'description' => 'Compatibility role for users who issue stock and receive purchase stock.',
|
||||
],
|
||||
'department_head' => [
|
||||
'title' => 'Department Head',
|
||||
'description' => 'Creates and tracks departmental stock indents.',
|
||||
|
|
@ -164,6 +172,7 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'users.*',
|
||||
'beta.*',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
|
|
@ -178,6 +187,7 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'users.delete',
|
||||
'beta.access',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
|
|
@ -192,6 +202,7 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'users.edit',
|
||||
'beta.access',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
|
|
@ -206,6 +217,17 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'hospital_stock.purchase.manage',
|
||||
'hospital_stock.report.view',
|
||||
],
|
||||
'stock_requester' => [
|
||||
'hospital_stock.access',
|
||||
'hospital_stock.indent.create',
|
||||
'hospital_stock.report.view',
|
||||
],
|
||||
'stock_issuer' => [
|
||||
'hospital_stock.access',
|
||||
'hospital_stock.issue',
|
||||
'hospital_stock.purchase.manage',
|
||||
'hospital_stock.report.view',
|
||||
],
|
||||
'department_head' => [
|
||||
'hospital_stock.access',
|
||||
'hospital_stock.indent.create',
|
||||
|
|
|
|||
|
|
@ -985,29 +985,30 @@ $routes->group('setting', static function($routes) {
|
|||
$routes->get('admin/bed-assignments', 'Setting\\BedManagement::assignmentHistory');
|
||||
$routes->post('admin/bed-assignments/save', 'Setting\\BedManagement::saveAssignment');
|
||||
$routes->post('admin/bed-assignments/delete', 'Setting\\BedManagement::deleteAssignment');
|
||||
$routes->get('admin/hospital-stock', 'Setting\\HospitalStock::index');
|
||||
$routes->get('admin/hospital-stock/dashboard', 'Setting\\HospitalStock::dashboard');
|
||||
$routes->get('admin/hospital-stock/masters', 'Setting\\HospitalStock::masters');
|
||||
$routes->get('admin/hospital-stock/indents', 'Setting\\HospitalStock::indents');
|
||||
$routes->get('admin/hospital-stock/purchase', 'Setting\\HospitalStock::purchase');
|
||||
$routes->get('admin/hospital-stock/reports', 'Setting\\HospitalStock::reports');
|
||||
$routes->post('admin/hospital-stock/category/save', 'Setting\\HospitalStock::saveCategory');
|
||||
$routes->post('admin/hospital-stock/category/update', 'Setting\\HospitalStock::updateCategory');
|
||||
$routes->post('admin/hospital-stock/category/delete', 'Setting\\HospitalStock::deleteCategory');
|
||||
$routes->post('admin/hospital-stock/item/save', 'Setting\\HospitalStock::saveItem');
|
||||
$routes->post('admin/hospital-stock/item/update', 'Setting\\HospitalStock::updateItem');
|
||||
$routes->post('admin/hospital-stock/item/delete', 'Setting\\HospitalStock::deleteItem');
|
||||
$routes->post('admin/hospital-stock/supplier/save', 'Setting\\HospitalStock::saveSupplier');
|
||||
$routes->post('admin/hospital-stock/supplier/update', 'Setting\\HospitalStock::updateSupplier');
|
||||
$routes->post('admin/hospital-stock/supplier/delete', 'Setting\\HospitalStock::deleteSupplier');
|
||||
$routes->post('admin/hospital-stock/indent/create', 'Setting\\HospitalStock::createIndent');
|
||||
$routes->post('admin/hospital-stock/indent/approve', 'Setting\\HospitalStock::approveIndent');
|
||||
$routes->post('admin/hospital-stock/indent/issue', 'Setting\\HospitalStock::issueIndent');
|
||||
$routes->post('admin/hospital-stock/po/create', 'Setting\\HospitalStock::createPurchaseOrder');
|
||||
$routes->post('admin/hospital-stock/po/receive', 'Setting\\HospitalStock::receivePurchaseOrder');
|
||||
$routes->get('admin/hospital-stock/report/department-consumption', 'Setting\\HospitalStock::reportDepartmentConsumption');
|
||||
$routes->get('admin/hospital-stock/report/monthly-issue', 'Setting\\HospitalStock::reportMonthlyIssue');
|
||||
$routes->get('admin/hospital-stock/report/near-expiry', 'Setting\\HospitalStock::reportNearExpiry');
|
||||
$stockPermFilter = 'permission:hospital_stock.access,hospital_stock.master.manage,hospital_stock.indent.create,hospital_stock.indent.approve,hospital_stock.issue,hospital_stock.purchase.manage,hospital_stock.report.view';
|
||||
$routes->get('admin/hospital-stock', 'Setting\\HospitalStock::index', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/dashboard', 'Setting\\HospitalStock::dashboard', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/masters', 'Setting\\HospitalStock::masters', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/indents', 'Setting\\HospitalStock::indents', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/purchase', 'Setting\\HospitalStock::purchase', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/reports', 'Setting\\HospitalStock::reports', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/category/save', 'Setting\\HospitalStock::saveCategory', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/category/update', 'Setting\\HospitalStock::updateCategory', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/category/delete', 'Setting\\HospitalStock::deleteCategory', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/item/save', 'Setting\\HospitalStock::saveItem', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/item/update', 'Setting\\HospitalStock::updateItem', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/item/delete', 'Setting\\HospitalStock::deleteItem', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/supplier/save', 'Setting\\HospitalStock::saveSupplier', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/supplier/update', 'Setting\\HospitalStock::updateSupplier', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/supplier/delete', 'Setting\\HospitalStock::deleteSupplier', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/indent/create', 'Setting\\HospitalStock::createIndent', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/indent/approve', 'Setting\\HospitalStock::approveIndent', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/indent/issue', 'Setting\\HospitalStock::issueIndent', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/po/create', 'Setting\\HospitalStock::createPurchaseOrder', ['filter' => $stockPermFilter]);
|
||||
$routes->post('admin/hospital-stock/po/receive', 'Setting\\HospitalStock::receivePurchaseOrder', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/report/department-consumption', 'Setting\\HospitalStock::reportDepartmentConsumption', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/report/monthly-issue', 'Setting\\HospitalStock::reportMonthlyIssue', ['filter' => $stockPermFilter]);
|
||||
$routes->get('admin/hospital-stock/report/near-expiry', 'Setting\\HospitalStock::reportNearExpiry', ['filter' => $stockPermFilter]);
|
||||
$routes->get('template', 'Setting\\Template::index');
|
||||
$routes->get('charges', 'Setting\\Charges::index');
|
||||
});
|
||||
|
|
|
|||
|
|
@ -56,6 +56,22 @@ if (! $canPharmacy && $user && method_exists($user, 'inGroup')) {
|
|||
$canPharmacy = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canHospitalStock = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canHospitalStock = $user->can('hospital_stock.access')
|
||||
|| $user->can('hospital_stock.master.manage')
|
||||
|| $user->can('hospital_stock.indent.create')
|
||||
|| $user->can('hospital_stock.indent.approve')
|
||||
|| $user->can('hospital_stock.issue')
|
||||
|| $user->can('hospital_stock.purchase.manage')
|
||||
|| $user->can('hospital_stock.report.view')
|
||||
|| $user->can('hospital_stock.*');
|
||||
}
|
||||
|
||||
if (! $canHospitalStock && $user && method_exists($user, 'inGroup')) {
|
||||
$canHospitalStock = $user->inGroup('superadmin', 'admin', 'developer', 'stock_manager', 'stock_requester', 'stock_issuer');
|
||||
}
|
||||
|
||||
$canFinance = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canFinance = $user->can('finance.access')
|
||||
|
|
@ -113,12 +129,6 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
<span>Bed Status</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin/hospital-stock') ?>','Hospital Stock Management');">
|
||||
<i class="bi bi-box-seam"></i>
|
||||
<span>Hospital Stock</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canBilling) { ?>
|
||||
|
||||
<li class="nav-heading">Billing</li>
|
||||
|
|
@ -193,7 +203,7 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Finance/cashbook') ?>','Cash Collection & Disbursement SOP')">
|
||||
<i class="bi bi-cash-stack"></i>
|
||||
<i class="bi bi-cash-coin"></i>
|
||||
<span>Cash & Disbursement SOP</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -285,6 +295,15 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($canHospitalStock) { ?>
|
||||
<li class="nav-heading">Hospital Stock</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin/hospital-stock') ?>','Hospital Stock Management');">
|
||||
<i class="bi bi-box-seam"></i>
|
||||
<span>Hospital Stock</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="nav-heading">ABDM</li>
|
||||
<li class="nav-item">
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user