Hide My care unit and My shifts from hospital admins.
Deploy Ladill Care / deploy (push) Successful in 41s

Wildcard admin abilities matched those nurse workplace links; admins should use Nursing Services and Care units instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 17:53:47 +00:00
co-authored by Cursor
parent a23604570e
commit 1678b05017
2 changed files with 13 additions and 2 deletions
+2 -2
View File
@@ -32,7 +32,7 @@
} }
} }
if ($permissions->can($member, 'nursing.station.view')) { if ($permissions->can($member, 'nursing.station.view') && ! $permissions->isAdmin($member)) {
$nav[] = ['name' => 'My care unit', 'route' => route('care.nursing.station'), 'active' => request()->routeIs('care.nursing.station') $nav[] = ['name' => 'My care unit', 'route' => route('care.nursing.station'), 'active' => request()->routeIs('care.nursing.station')
|| (request()->routeIs('care.care-units.mar') || (request()->routeIs('care.care-units.mar')
|| request()->routeIs('care.care-units.notes') || request()->routeIs('care.care-units.notes')
@@ -42,7 +42,7 @@
'icon' => '<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Z" />']; 'icon' => '<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 21h19.5m-18-18v18m10.5-18v18m6-13.5V21M6.75 6.75h.75m-.75 3h.75m-.75 3h.75m3-6h.75m-.75 3h.75m-.75 3h.75M6.75 21v-3.375c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21M3 3h12m-.75 4.5H21m-3.75 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Zm0 3h.008v.008h-.008v-.008Z" />'];
} }
if ($permissions->can($member, 'nursing.my_shifts.view')) { if ($permissions->can($member, 'nursing.my_shifts.view') && ! $permissions->isAdmin($member)) {
$nav[] = ['name' => 'My shifts', 'route' => route('care.my-shifts'), 'active' => request()->routeIs('care.my-shifts'), $nav[] = ['name' => 'My shifts', 'route' => route('care.my-shifts'), 'active' => request()->routeIs('care.my-shifts'),
'icon' => '<path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />']; 'icon' => '<path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />'];
} }
@@ -81,6 +81,17 @@ class CareMyShiftsAndNavPermissionsTest extends TestCase
]); ]);
} }
public function test_hospital_admin_does_not_see_personal_nurse_nav(): void
{
$this->actingAs($this->owner)
->get(route('care.dashboard'))
->assertOk()
->assertDontSee('>My care unit<', false)
->assertDontSee('>My shifts<', false)
->assertSee('Nursing Services', false)
->assertSee('Care units', false);
}
public function test_ambulance_staff_cannot_access_care_units_or_nursing_services_hub(): void public function test_ambulance_staff_cannot_access_care_units_or_nursing_services_hub(): void
{ {
$user = User::create([ $user = User::create([