diff --git a/app/Domain/ACL/Permission.php b/app/Domain/ACL/Permission.php index 5d9a18b..81853a4 100644 --- a/app/Domain/ACL/Permission.php +++ b/app/Domain/ACL/Permission.php @@ -25,4 +25,5 @@ enum Permission: string case AssignRadiologist = 'assign_radiologist'; case UnassignRadiologist = 'unassign_radiologist'; case AccessAllWorklists = 'access_all_worklists'; + case AuditLogView = 'audit_log_view'; } diff --git a/app/Services/ACL/WorklistGuard.php b/app/Services/ACL/WorklistGuard.php index 496265e..ccfdbab 100644 --- a/app/Services/ACL/WorklistGuard.php +++ b/app/Services/ACL/WorklistGuard.php @@ -2,6 +2,7 @@ namespace App\Services\ACL; +use App\Domain\ACL\Permission; use App\Models\Study; use App\Models\User; use Illuminate\Support\Collection; @@ -56,7 +57,7 @@ public static function worklistButtons(Study $study, User|int|null $usr = null): return collect([ WorklistButton::StudyMetadata, WorklistButton::Notes, - WorklistButton::Audit, + // WorklistButton::Audit, ]); } @@ -69,7 +70,10 @@ public static function worklistButtons(Study $study, User|int|null $usr = null): if ($study->canAssignRad()) { $buttons->push(WorklistButton::Assign); } - $buttons->push(WorklistButton::Audit); + + if (may(Permission::AuditLogView)) { + $buttons->push(WorklistButton::Audit); + } return $buttons; } diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php index 6da5cf9..df693c9 100644 --- a/database/seeders/RoleSeeder.php +++ b/database/seeders/RoleSeeder.php @@ -48,6 +48,7 @@ public function run(): void Permission::AttachmentDownload, Permission::StudyArchive, Permission::ReportDownload, + Permission::AuditLogView, ]); $adm->givePermissionTo(SpatiePermission::all());