From dfb66369d00442b41b27b7136bb8e1f5cfa22101 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Sun, 19 Jul 2026 17:31:14 +0000 Subject: [PATCH] Hide Laboratory nav from doctors who only have lab.view. The sidebar and dashboard linked to the lab work queue (lab.manage) while gating on lab.view, so physio/GP doctors hit 403 on open. Co-authored-by: Cursor --- resources/views/care/dashboard.blade.php | 2 +- resources/views/partials/sidebar.blade.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/views/care/dashboard.blade.php b/resources/views/care/dashboard.blade.php index a8afd49..09c2399 100644 --- a/resources/views/care/dashboard.blade.php +++ b/resources/views/care/dashboard.blade.php @@ -40,7 +40,7 @@ ]; } - if ($permissions->can($member, 'lab.view')) { + if ($permissions->can($member, 'lab.manage')) { $operationalCards[] = [ 'label' => 'Pending lab', 'value' => number_format($operational['pending_lab']), diff --git a/resources/views/partials/sidebar.blade.php b/resources/views/partials/sidebar.blade.php index fa92e33..b3361fb 100644 --- a/resources/views/partials/sidebar.blade.php +++ b/resources/views/partials/sidebar.blade.php @@ -52,7 +52,9 @@ // Lab, pharmacy, billing, and Queue service counters are Pro/Enterprise modules. if (! empty($hasPaidPlan)) { - if ($permissions->can($member, 'lab.view') && $permissions->handlesFloorCare($member)) { + // Queue ops require lab.manage (techs/managers). Doctors only have lab.view + // for results — do not show a link that 403s on care.lab.queue.index. + if ($permissions->can($member, 'lab.manage') && $permissions->handlesFloorCare($member)) { $nav[] = ['name' => 'Laboratory', 'route' => route('care.lab.queue.index'), 'active' => request()->routeIs('care.lab.*') && ! request()->routeIs('care.lab.catalog.*'), 'icon' => '']; }