From 2bfaa9af4adc676fef06d74e7323847c43c755ab Mon Sep 17 00:00:00 2001 From: isaacclad Date: Mon, 20 Jul 2026 16:17:52 +0000 Subject: [PATCH] Hide Clinical forms nav and callout from nurses. That surface is for consult/pathway intake. Nurses use My care unit for ward assessments; require consultations.manage to show Clinical forms. Co-authored-by: Cursor --- resources/views/care/patients/index.blade.php | 13 ++++++++----- resources/views/partials/sidebar.blade.php | 8 +++++++- tests/Feature/CareMyShiftsAndNavPermissionsTest.php | 1 + 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/resources/views/care/patients/index.blade.php b/resources/views/care/patients/index.blade.php index 37577c0..e46ce89 100644 --- a/resources/views/care/patients/index.blade.php +++ b/resources/views/care/patients/index.blade.php @@ -1,8 +1,11 @@ @php - $canManagePatients = app(\App\Services\Care\CarePermissions::class)->can( - auth()->user() ? app(\App\Services\Care\OrganizationResolver::class)->memberFor(auth()->user(), $organization) : null, - 'patients.manage' - ); + $memberForPatients = auth()->user() + ? app(\App\Services\Care\OrganizationResolver::class)->memberFor(auth()->user(), $organization) + : null; + $permissionsForPatients = app(\App\Services\Care\CarePermissions::class); + $canManagePatients = $permissionsForPatients->can($memberForPatients, 'patients.manage'); + $canUseClinicalForms = $permissionsForPatients->can($memberForPatients, 'consultations.manage') + && $permissionsForPatients->can($memberForPatients, 'assessments.view'); @endphp @@ -23,7 +26,7 @@ @endif - @if (request('focus') === 'assessments') + @if (request('focus') === 'assessments' && $canUseClinicalForms)

Clinical forms

diff --git a/resources/views/partials/sidebar.blade.php b/resources/views/partials/sidebar.blade.php index 531384b..f01b513 100644 --- a/resources/views/partials/sidebar.blade.php +++ b/resources/views/partials/sidebar.blade.php @@ -62,7 +62,13 @@ $organization, \App\Services\Care\CareFeatures::ASSESSMENTS_ENGINE, ); - if ($assessmentsEngineOn && $permissions->can($member, 'assessments.view') && $permissions->can($member, 'patients.view') && $permissions->handlesFloorCare($member)) { + // Clinical forms = consult/pathway intake (doctors), not ward nursing assessments. + if ($assessmentsEngineOn + && $permissions->can($member, 'assessments.view') + && $permissions->can($member, 'patients.view') + && $permissions->can($member, 'consultations.manage') + && $permissions->handlesFloorCare($member) + ) { $nav[] = [ 'name' => 'Clinical forms', 'route' => route('care.patients.index', ['focus' => 'assessments']), diff --git a/tests/Feature/CareMyShiftsAndNavPermissionsTest.php b/tests/Feature/CareMyShiftsAndNavPermissionsTest.php index 58d8699..895b89a 100644 --- a/tests/Feature/CareMyShiftsAndNavPermissionsTest.php +++ b/tests/Feature/CareMyShiftsAndNavPermissionsTest.php @@ -223,6 +223,7 @@ class CareMyShiftsAndNavPermissionsTest extends TestCase ->assertDontSee('>Departments<', false) ->assertDontSee('>Nursing Services<', false) ->assertDontSee('>Nursing<', false) + ->assertDontSee('>Clinical forms<', false) ->assertSee('>My care unit<', false) ->assertSee('My shifts', false); }