Add ABDM and left-menu permission controls with route filters
This commit is contained in:
parent
5bae9088f3
commit
1987b4856b
|
|
@ -118,6 +118,12 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'billing.ipd.admission.edit' => 'Can edit IPD admission details (date, mode, department, refer, doctors, contact, clinical notes)',
|
||||
'billing.ipd.bill.print' => 'Can print IPD bill variants',
|
||||
'billing.ipd.discharge.edit' => 'Can edit IPD discharge process details (discount, extra charges, status, date, time)',
|
||||
'settings.bed_status.view' => 'Can view bed status and bed management screens',
|
||||
'settings.charges.access' => 'Can access charges settings',
|
||||
'reports.access' => 'Can access reports section',
|
||||
'reports.collection.view' => 'Can view collection reports',
|
||||
'reports.insurance_credit.view' => 'Can view insurance credit reports',
|
||||
'reports.nabh_audit.view' => 'Can view NABH audit report',
|
||||
'finance.access' => 'Can access finance module',
|
||||
'finance.vendor.manage' => 'Can manage finance vendors',
|
||||
'finance.po.manage' => 'Can manage purchase orders',
|
||||
|
|
@ -156,6 +162,9 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'hospital_stock.issue' => 'Can issue stock against approved indents',
|
||||
'hospital_stock.purchase.manage' => 'Can create/receive purchase orders',
|
||||
'hospital_stock.report.view' => 'Can view stock reports and alerts',
|
||||
'abdm.access' => 'Can access ABDM module',
|
||||
'abdm.taskboard.access' => 'Can access ABDM task board',
|
||||
'abdm.gateway.use' => 'Can run ABDM gateway actions from UI',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -173,12 +182,19 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'beta.*',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'settings.bed_status.view',
|
||||
'settings.charges.access',
|
||||
'reports.access',
|
||||
'reports.collection.view',
|
||||
'reports.insurance_credit.view',
|
||||
'reports.nabh_audit.view',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
'pharmacy.*',
|
||||
'template.*',
|
||||
'hospital_stock.*',
|
||||
'abdm.*',
|
||||
],
|
||||
'admin' => [
|
||||
'admin.access',
|
||||
|
|
@ -188,12 +204,19 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'beta.access',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'settings.bed_status.view',
|
||||
'settings.charges.access',
|
||||
'reports.access',
|
||||
'reports.collection.view',
|
||||
'reports.insurance_credit.view',
|
||||
'reports.nabh_audit.view',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
'pharmacy.*',
|
||||
'template.*',
|
||||
'hospital_stock.*',
|
||||
'abdm.*',
|
||||
],
|
||||
'developer' => [
|
||||
'admin.access',
|
||||
|
|
@ -203,12 +226,19 @@ class AuthGroups extends ShieldAuthGroups
|
|||
'beta.access',
|
||||
'billing.*',
|
||||
'opd.doctor-panel.access',
|
||||
'settings.bed_status.view',
|
||||
'settings.charges.access',
|
||||
'reports.access',
|
||||
'reports.collection.view',
|
||||
'reports.insurance_credit.view',
|
||||
'reports.nabh_audit.view',
|
||||
'finance.*',
|
||||
'diagnosis.*',
|
||||
'doctor_work.*',
|
||||
'pharmacy.*',
|
||||
'template.*',
|
||||
'hospital_stock.*',
|
||||
'abdm.*',
|
||||
],
|
||||
'stock_manager' => [
|
||||
'hospital_stock.access',
|
||||
|
|
|
|||
|
|
@ -509,20 +509,21 @@ $routes->match(['get', 'post'], 'Opd_prescription/create_opd_queue/(:num)', 'Opd
|
|||
$routes->get('Opd_prescription/opd_prescription_print/(:num)/(:num)', 'Opd_prescription::opd_prescription_print/$1/$2');
|
||||
$routes->get('Opd_prescription/opd_prescription_print/(:num)/(:num)/(:num)', 'Opd_prescription::opd_prescription_print/$1/$2/$3');
|
||||
$routes->post('Opd_prescription/opd_prescription_save', 'Opd_prescription::opd_prescription_save');
|
||||
$routes->post('AbdmGateway/abha_validate', 'AbdmGateway::abhaValidate');
|
||||
$routes->post('AbdmGateway/scan_share_lookup', 'AbdmGateway::scanShareLookup');
|
||||
$routes->post('AbdmGateway/consent_request', 'AbdmGateway::consentRequest');
|
||||
$abdmPermFilter = 'permission:abdm.access,abdm.taskboard.access,abdm.gateway.use';
|
||||
$routes->post('AbdmGateway/abha_validate', 'AbdmGateway::abhaValidate', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/scan_share_lookup', 'AbdmGateway::scanShareLookup', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/consent_request', 'AbdmGateway::consentRequest', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/consent_callback', 'AbdmGateway::consentCallback');
|
||||
$routes->post('AbdmGateway/share_prescription_bundle', 'AbdmGateway::sharePrescriptionBundle');
|
||||
$routes->post('AbdmGateway/share_ipd_discharge_bundle', 'AbdmGateway::shareIpdDischargeBundle');
|
||||
$routes->post('AbdmGateway/share_diagnosis_report_bundle', 'AbdmGateway::shareDiagnosisReportBundle');
|
||||
$routes->post('AbdmGateway/nhcx_claim_create', 'AbdmGateway::nhcxClaimCreate');
|
||||
$routes->post('AbdmGateway/nhcx_claim_status_request', 'AbdmGateway::nhcxClaimStatusRequest');
|
||||
$routes->post('AbdmGateway/share_prescription_bundle', 'AbdmGateway::sharePrescriptionBundle', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/share_ipd_discharge_bundle', 'AbdmGateway::shareIpdDischargeBundle', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/share_diagnosis_report_bundle', 'AbdmGateway::shareDiagnosisReportBundle', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/nhcx_claim_create', 'AbdmGateway::nhcxClaimCreate', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/nhcx_claim_status_request', 'AbdmGateway::nhcxClaimStatusRequest', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmGateway/nhcx_claim_status_callback', 'AbdmGateway::nhcxClaimStatusCallback');
|
||||
$routes->get('AbdmTaskBoard', 'AbdmTaskBoard::index');
|
||||
$routes->get('AbdmTaskBoard/list', 'AbdmTaskBoard::list');
|
||||
$routes->post('AbdmTaskBoard/perform_action', 'AbdmTaskBoard::performAction');
|
||||
$routes->post('AbdmTaskBoard/mark_status', 'AbdmTaskBoard::markStatus');
|
||||
$routes->get('AbdmTaskBoard', 'AbdmTaskBoard::index', ['filter' => $abdmPermFilter]);
|
||||
$routes->get('AbdmTaskBoard/list', 'AbdmTaskBoard::list', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmTaskBoard/perform_action', 'AbdmTaskBoard::performAction', ['filter' => $abdmPermFilter]);
|
||||
$routes->post('AbdmTaskBoard/mark_status', 'AbdmTaskBoard::markStatus', ['filter' => $abdmPermFilter]);
|
||||
$routes->get('Opd_prescription/fhir_bundle/(:num)', 'Opd_prescription::fhir_bundle/$1');
|
||||
$routes->get('Opd_prescription/fhir_bundle/(:num)/(:num)', 'Opd_prescription::fhir_bundle/$1/$2');
|
||||
$routes->get('Opd_prescription/fhir_bundle_history/(:num)', 'Opd_prescription::fhir_bundle_history/$1');
|
||||
|
|
@ -705,13 +706,14 @@ $routes->get('Report/index', 'Report::index');
|
|||
$routes->get('report', 'Report::index');
|
||||
$routes->get('report/index', 'Report::index');
|
||||
|
||||
$routes->get('Report/collection_report', 'Report::collection_report');
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_app_show/$1/$2/$3');
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_app_show/$1/$2/$3/$4');
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_app_show/$1/$2/$3/$4');
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_app_show/$1/$2/$3/$4/$5');
|
||||
$routes->get('Report/report_total_payment_total_amount_show/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_total_amount_show/$1/$2/$3');
|
||||
$routes->get('Report/report_total_payment_total_amount_show/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_total_amount_show/$1/$2/$3/$4');
|
||||
$reportsCollectionFilter = 'permission:reports.collection.view,reports.access';
|
||||
$routes->get('Report/collection_report', 'Report::collection_report', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_app_show/$1/$2/$3', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_app_show/$1/$2/$3/$4', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_app_show/$1/$2/$3/$4', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_app_show/(:segment)/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_app_show/$1/$2/$3/$4/$5', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_total_amount_show/(:segment)/(:segment)/(:segment)', 'Report::report_total_payment_total_amount_show/$1/$2/$3', ['filter' => $reportsCollectionFilter]);
|
||||
$routes->get('Report/report_total_payment_total_amount_show/(:segment)/(:segment)/(:segment)/(:num)', 'Report::report_total_payment_total_amount_show/$1/$2/$3/$4', ['filter' => $reportsCollectionFilter]);
|
||||
|
||||
$routes->get('Report/billing_operations_report', 'Report::billing_operations_report');
|
||||
$routes->get('Report/billing_operations_report_data/(:segment)/(:segment)', 'Report::billing_operations_report_data/$1/$2');
|
||||
|
|
@ -732,27 +734,29 @@ $routes->get('Report/diagnosis_report_data/(:segment)/(:segment)', 'Report::diag
|
|||
$routes->get('Report/diagnosis_report_data/(:segment)/(:segment)/(:segment)', 'Report::diagnosis_report_data/$1/$2/$3');
|
||||
$routes->get('Report/diagnosis_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::diagnosis_report_data/$1/$2/$3/$4');
|
||||
|
||||
$routes->get('Report/nabh_audit_report', 'Report::nabh_audit_report');
|
||||
$routes->get('Report/nabh_audit_report_data/(:segment)/(:segment)/(:segment)', 'Report::nabh_audit_report_data/$1/$2/$3');
|
||||
$routes->get('Report/nabh_audit_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::nabh_audit_report_data/$1/$2/$3/$4');
|
||||
$reportsNabhFilter = 'permission:reports.nabh_audit.view,reports.access';
|
||||
$routes->get('Report/nabh_audit_report', 'Report::nabh_audit_report', ['filter' => $reportsNabhFilter]);
|
||||
$routes->get('Report/nabh_audit_report_data/(:segment)/(:segment)/(:segment)', 'Report::nabh_audit_report_data/$1/$2/$3', ['filter' => $reportsNabhFilter]);
|
||||
$routes->get('Report/nabh_audit_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::nabh_audit_report_data/$1/$2/$3/$4', ['filter' => $reportsNabhFilter]);
|
||||
|
||||
// Insurance Credit Reports
|
||||
$routes->get('Report/insurance_credit_main', 'Report::insurance_credit_main');
|
||||
$routes->get('Report/insurance_opd_report', 'Report::insurance_opd_report');
|
||||
$routes->get('Report/insurance_opd_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_opd_report_data/$1/$2/$3');
|
||||
$routes->get('Report/insurance_opd_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_opd_report_data/$1/$2/$3/$4');
|
||||
$routes->get('Report/insurance_ipd_report', 'Report::insurance_ipd_report');
|
||||
$routes->get('Report/insurance_ipd_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_ipd_report_data/$1/$2/$3');
|
||||
$routes->get('Report/insurance_ipd_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_ipd_report_data/$1/$2/$3/$4');
|
||||
$routes->get('Report/insurance_combined_report', 'Report::insurance_combined_report');
|
||||
$routes->get('Report/insurance_combined_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_combined_report_data/$1/$2/$3');
|
||||
$routes->get('Report/insurance_combined_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_combined_report_data/$1/$2/$3/$4');
|
||||
$routes->get('Report/ayushman_unmapped_report', 'Report::ayushman_unmapped_report');
|
||||
$routes->get('Report/ayushman_unmapped_report_data/(:segment)', 'Report::ayushman_unmapped_report_data/$1');
|
||||
$routes->get('Report/ayushman_unmapped_report_data/(:segment)/(:num)', 'Report::ayushman_unmapped_report_data/$1/$2');
|
||||
$routes->get('Report/ayushman_case_dashboard', 'Report::ayushman_case_dashboard');
|
||||
$routes->get('Report/ayushman_case_dashboard_data/(:segment)/(:segment)', 'Report::ayushman_case_dashboard_data/$1/$2');
|
||||
$routes->get('Report/ayushman_case_dashboard_data/(:segment)/(:segment)/(:num)', 'Report::ayushman_case_dashboard_data/$1/$2/$3');
|
||||
$reportsInsuranceFilter = 'permission:reports.insurance_credit.view,reports.access';
|
||||
$routes->get('Report/insurance_credit_main', 'Report::insurance_credit_main', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_opd_report', 'Report::insurance_opd_report', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_opd_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_opd_report_data/$1/$2/$3', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_opd_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_opd_report_data/$1/$2/$3/$4', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_ipd_report', 'Report::insurance_ipd_report', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_ipd_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_ipd_report_data/$1/$2/$3', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_ipd_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_ipd_report_data/$1/$2/$3/$4', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_combined_report', 'Report::insurance_combined_report', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_combined_report_data/(:segment)/(:segment)/(:segment)', 'Report::insurance_combined_report_data/$1/$2/$3', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/insurance_combined_report_data/(:segment)/(:segment)/(:segment)/(:num)', 'Report::insurance_combined_report_data/$1/$2/$3/$4', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_unmapped_report', 'Report::ayushman_unmapped_report', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_unmapped_report_data/(:segment)', 'Report::ayushman_unmapped_report_data/$1', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_unmapped_report_data/(:segment)/(:num)', 'Report::ayushman_unmapped_report_data/$1/$2', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_case_dashboard', 'Report::ayushman_case_dashboard', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_case_dashboard_data/(:segment)/(:segment)', 'Report::ayushman_case_dashboard_data/$1/$2', ['filter' => $reportsInsuranceFilter]);
|
||||
$routes->get('Report/ayushman_case_dashboard_data/(:segment)/(:segment)/(:num)', 'Report::ayushman_case_dashboard_data/$1/$2/$3', ['filter' => $reportsInsuranceFilter]);
|
||||
|
||||
// Legacy Report4 compatibility for Insurance Case reports
|
||||
$routes->get('Report4/echs_ipd_list_main', 'Report::echs_ipd_list_main');
|
||||
|
|
@ -896,7 +900,10 @@ $routes->get('OcasePathLap/invoice_print/(:num)', 'OcasePathLap::invoice_print/$
|
|||
$routes->get('OcasePathLap/addPathTest/(:num)/(:num)', 'Billing\\CaseMaster::addPathTest/$1');
|
||||
|
||||
$routes->group('setting', static function($routes) {
|
||||
$routes->get('admin', 'Setting\\Admin::index');
|
||||
$settingsAdminFilter = 'permission:admin.access,admin.settings';
|
||||
$settingsBedFilter = 'permission:settings.bed_status.view,admin.settings,admin.access';
|
||||
$settingsChargesFilter = 'permission:settings.charges.access,admin.settings,admin.access';
|
||||
$routes->get('admin', 'Setting\\Admin::index', ['filter' => $settingsAdminFilter]);
|
||||
$routes->get('admin/user-management', 'Setting\\UserManagement::index');
|
||||
$routes->get('admin/user-management/new', 'Setting\\UserManagement::create');
|
||||
$routes->post('admin/user-management/new', 'Setting\\UserManagement::store');
|
||||
|
|
@ -965,26 +972,26 @@ $routes->group('setting', static function($routes) {
|
|||
$routes->post('admin/reffer/types/create', 'Setting\\Reffer::storeType');
|
||||
$routes->post('admin/reffer/types/update', 'Setting\\Reffer::updateType');
|
||||
$routes->post('admin/reffer/types/delete', 'Setting\\Reffer::deleteType');
|
||||
$routes->get('admin/bed-management', 'Setting\\BedManagement::index');
|
||||
$routes->get('admin/departments', 'Setting\\BedManagement::departments');
|
||||
$routes->post('admin/departments/save', 'Setting\\BedManagement::saveDepartment');
|
||||
$routes->post('admin/departments/delete', 'Setting\\BedManagement::deleteDepartment');
|
||||
$routes->get('admin/wards', 'Setting\\BedManagement::wards');
|
||||
$routes->get('admin/bed-status', 'Setting\\BedManagement::bedStatus');
|
||||
$routes->post('admin/wards/save', 'Setting\\BedManagement::saveWard');
|
||||
$routes->post('admin/wards/delete', 'Setting\\BedManagement::deleteWard');
|
||||
$routes->get('admin/bed-categories', 'Setting\\BedManagement::categories');
|
||||
$routes->post('admin/bed-categories/save', 'Setting\\BedManagement::saveCategory');
|
||||
$routes->post('admin/bed-categories/delete', 'Setting\\BedManagement::deleteCategory');
|
||||
$routes->get('admin/beds', 'Setting\\BedManagement::beds');
|
||||
$routes->post('admin/beds/save', 'Setting\\BedManagement::saveBed');
|
||||
$routes->post('admin/beds/delete', 'Setting\\BedManagement::deleteBed');
|
||||
$routes->get('admin/bed-maintenance', 'Setting\\BedManagement::maintenance');
|
||||
$routes->post('admin/bed-maintenance/save', 'Setting\\BedManagement::saveMaintenance');
|
||||
$routes->post('admin/bed-maintenance/delete', 'Setting\\BedManagement::deleteMaintenance');
|
||||
$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/bed-management', 'Setting\\BedManagement::index', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/departments', 'Setting\\BedManagement::departments', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/departments/save', 'Setting\\BedManagement::saveDepartment', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/departments/delete', 'Setting\\BedManagement::deleteDepartment', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/wards', 'Setting\\BedManagement::wards', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/bed-status', 'Setting\\BedManagement::bedStatus', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/wards/save', 'Setting\\BedManagement::saveWard', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/wards/delete', 'Setting\\BedManagement::deleteWard', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/bed-categories', 'Setting\\BedManagement::categories', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-categories/save', 'Setting\\BedManagement::saveCategory', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-categories/delete', 'Setting\\BedManagement::deleteCategory', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/beds', 'Setting\\BedManagement::beds', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/beds/save', 'Setting\\BedManagement::saveBed', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/beds/delete', 'Setting\\BedManagement::deleteBed', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/bed-maintenance', 'Setting\\BedManagement::maintenance', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-maintenance/save', 'Setting\\BedManagement::saveMaintenance', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-maintenance/delete', 'Setting\\BedManagement::deleteMaintenance', ['filter' => $settingsBedFilter]);
|
||||
$routes->get('admin/bed-assignments', 'Setting\\BedManagement::assignmentHistory', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-assignments/save', 'Setting\\BedManagement::saveAssignment', ['filter' => $settingsBedFilter]);
|
||||
$routes->post('admin/bed-assignments/delete', 'Setting\\BedManagement::deleteAssignment', ['filter' => $settingsBedFilter]);
|
||||
$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]);
|
||||
|
|
@ -1010,7 +1017,7 @@ $routes->group('setting', static function($routes) {
|
|||
$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');
|
||||
$routes->get('charges', 'Setting\\Charges::index', ['filter' => $settingsChargesFilter]);
|
||||
});
|
||||
|
||||
$routes->group('item', static function($routes) {
|
||||
|
|
|
|||
|
|
@ -115,6 +115,64 @@ if ($user && method_exists($user, 'can')) {
|
|||
if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
||||
$canDiagnosis = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canAbdm = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canAbdm = $user->can('abdm.access')
|
||||
|| $user->can('abdm.taskboard.access')
|
||||
|| $user->can('abdm.gateway.use')
|
||||
|| $user->can('abdm.*');
|
||||
}
|
||||
|
||||
if (! $canAbdm && $user && method_exists($user, 'inGroup')) {
|
||||
$canAbdm = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canBedStatus = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canBedStatus = $user->can('settings.bed_status.view')
|
||||
|| $user->can('admin.settings')
|
||||
|| $user->can('admin.access');
|
||||
}
|
||||
|
||||
if (! $canBedStatus && $user && method_exists($user, 'inGroup')) {
|
||||
$canBedStatus = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canReports = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canReports = $user->can('reports.access')
|
||||
|| $user->can('reports.collection.view')
|
||||
|| $user->can('reports.insurance_credit.view')
|
||||
|| $user->can('reports.nabh_audit.view')
|
||||
|| $user->can('diagnosis.report.view')
|
||||
|| $user->can('diagnosis.access');
|
||||
}
|
||||
|
||||
if (! $canReports && $user && method_exists($user, 'inGroup')) {
|
||||
$canReports = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canAdminPanel = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canAdminPanel = $user->can('admin.access')
|
||||
|| $user->can('admin.settings');
|
||||
}
|
||||
|
||||
if (! $canAdminPanel && $user && method_exists($user, 'inGroup')) {
|
||||
$canAdminPanel = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
|
||||
$canChargesSettings = false;
|
||||
if ($user && method_exists($user, 'can')) {
|
||||
$canChargesSettings = $user->can('settings.charges.access')
|
||||
|| $user->can('admin.settings')
|
||||
|| $user->can('admin.access');
|
||||
}
|
||||
|
||||
if (! $canChargesSettings && $user && method_exists($user, 'inGroup')) {
|
||||
$canChargesSettings = $user->inGroup('superadmin', 'admin', 'developer');
|
||||
}
|
||||
?>
|
||||
<ul class="sidebar-nav" id="sidebar-nav">
|
||||
<li class="nav-item">
|
||||
|
|
@ -123,12 +181,14 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
<span>Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin/bed-status') ?>','Bed Status');">
|
||||
<i class="bi bi-geo-alt"></i>
|
||||
<span>Bed Status</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canBedStatus) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin/bed-status') ?>','Bed Status');">
|
||||
<i class="bi bi-geo-alt"></i>
|
||||
<span>Bed Status</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($canBilling) { ?>
|
||||
|
||||
<li class="nav-heading">Billing</li>
|
||||
|
|
@ -226,13 +286,15 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="nav-heading">In-Patient & Nursing Care</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('/ipd/patient') ?>','IPD Patient List')">
|
||||
<i class="bi bi-person-vcard"></i>
|
||||
<span>IPD Patient List</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canIpdBilling) { ?>
|
||||
<li class="nav-heading">In-Patient & Nursing Care</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('/ipd/patient') ?>','IPD Patient List')">
|
||||
<i class="bi bi-person-vcard"></i>
|
||||
<span>IPD Patient List</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($canDoctorWork) { ?>
|
||||
<li class="nav-heading">Doctor's Work</li>
|
||||
|
|
@ -305,42 +367,46 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="nav-heading">ABDM</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('AbdmTaskBoard') ?>','ABDM Task Board')">
|
||||
<i class="bi bi-shield-check"></i>
|
||||
<span>ABDM Task Board</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-heading">Reports</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/collection_report') ?>','Collection Report')">
|
||||
<i class="bi bi-graph-up"></i>
|
||||
<span>Collection Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canDiagnosis) { ?>
|
||||
<?php if ($canAbdm) { ?>
|
||||
<li class="nav-heading">ABDM</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/diagnosis_report') ?>','Diagnosis Report')">
|
||||
<i class="bi bi-activity"></i>
|
||||
<span>Diagnosis Report</span>
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('AbdmTaskBoard') ?>','ABDM Task Board')">
|
||||
<i class="bi bi-shield-check"></i>
|
||||
<span>ABDM Task Board</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($canReports) { ?>
|
||||
<li class="nav-heading">Reports</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/collection_report') ?>','Collection Report')">
|
||||
<i class="bi bi-graph-up"></i>
|
||||
<span>Collection Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canDiagnosis) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/diagnosis_report') ?>','Diagnosis Report')">
|
||||
<i class="bi bi-activity"></i>
|
||||
<span>Diagnosis Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/insurance_credit_main') ?>','Insurance Credit')">
|
||||
<i class="bi bi-file-medical"></i>
|
||||
<span>Insurance Credit </span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/nabh_audit_report') ?>','NABH Audit Report')">
|
||||
<i class="bi bi-clipboard2-check"></i>
|
||||
<span>NABH Audit Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/insurance_credit_main') ?>','Insurance Credit')">
|
||||
<i class="bi bi-file-medical"></i>
|
||||
<span>Insurance Credit </span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('Report/nabh_audit_report') ?>','NABH Audit Report')">
|
||||
<i class="bi bi-clipboard2-check"></i>
|
||||
<span>NABH Audit Report</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<?php if ($canDiagnosis) { ?>
|
||||
|
|
@ -388,26 +454,32 @@ if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) {
|
|||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="nav-heading">Admin & Settings</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin') ?>','Admin Panel')">
|
||||
<i class="bi bi-gear"></i>
|
||||
<span>Admin</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canTemplate) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/template') ?>','Template')">
|
||||
<i class="bi bi-palette"></i>
|
||||
<span>Template</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php if ($canAdminPanel || $canTemplate || $canChargesSettings) { ?>
|
||||
<li class="nav-heading">Admin & Settings</li>
|
||||
<?php if ($canAdminPanel) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/admin') ?>','Admin Panel')">
|
||||
<i class="bi bi-gear"></i>
|
||||
<span>Admin</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($canTemplate) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/template') ?>','Template')">
|
||||
<i class="bi bi-palette"></i>
|
||||
<span>Template</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if ($canChargesSettings) { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/charges') ?>','Charges')">
|
||||
<i class="bi bi-tags"></i>
|
||||
<span>Charges</span>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="javascript:load_form('<?= base_url('setting/charges') ?>','Charges')">
|
||||
<i class="bi bi-tags"></i>
|
||||
<span>Charges</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
Loading…
Reference in New Issue
Block a user