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' => '']; }