diff --git a/app/Views/partials/header.php b/app/Views/partials/header.php index f9e04ca..89332cc 100644 --- a/app/Views/partials/header.php +++ b/app/Views/partials/header.php @@ -2,6 +2,45 @@ user() : null); + // Shortcut permission flags + $hdrCanBilling = false; + $hdrCanIpdBilling = false; + $hdrCanDoctorWork = false; + $hdrCanPharmacy = false; + if ($authUser && method_exists($authUser, 'can')) { + $hdrCanBilling = $authUser->can('billing.access') + || $authUser->can('billing.opd.edit') + || $authUser->can('billing.opd.pay') + || $authUser->can('billing.charges.view') + || $authUser->can('billing.charges.edit') + || $authUser->can('billing.charges.pay') + || $authUser->can('billing.charges.cancel') + || $authUser->can('billing.charges.correct') + || $authUser->can('billing.ipd.access') + || $authUser->can('billing.ipd.current-admission') + || $authUser->can('billing.ipd.invoice') + || $authUser->can('billing.ipd.cash-balance') + || $authUser->can('billing.ipd.export') + || $authUser->can('billing.*'); + $hdrCanIpdBilling = $authUser->can('billing.ipd.access') + || $authUser->can('billing.ipd.current-admission') + || $authUser->can('billing.ipd.invoice') + || $authUser->can('billing.ipd.cash-balance') + || $authUser->can('billing.access'); + $hdrCanDoctorWork = $authUser->can('doctor_work.access') + || $authUser->can('doctor_work.appointment.view') + || $authUser->can('doctor_work.*'); + $hdrCanPharmacy = $authUser->can('pharmacy.access') + || $authUser->can('billing.access'); + } + if ($authUser && method_exists($authUser, 'inGroup')) { + $inAdminGroup = $authUser->inGroup('superadmin', 'admin', 'developer'); + if (! $hdrCanBilling) { $hdrCanBilling = $inAdminGroup; } + if (! $hdrCanIpdBilling) { $hdrCanIpdBilling = $inAdminGroup; } + if (! $hdrCanDoctorWork) { $hdrCanDoctorWork = $inAdminGroup; } + if (! $hdrCanPharmacy) { $hdrCanPharmacy = $inAdminGroup; } + } + $loginId = trim((string) ($authUser->username ?? '')); if ($loginId === '') { $loginId = trim((string) ($authUser->email ?? '')); @@ -50,6 +89,34 @@ $serverDisplayTime = $serverNow->format('d-m-Y h:i A') . ' (' . $serverTimeZoneLabel . ')'; ?>