permission

This commit is contained in:
Masroor Ehsan 2025-01-07 17:07:47 +06:00
parent 3e61028d29
commit f95ada6426
2 changed files with 10 additions and 5 deletions

View File

@ -4,6 +4,8 @@
enum Permission: string enum Permission: string
{ {
case PatientEdit = 'patient_edit';
case StudyChangeStatus = 'study_change_status';
case StudyMetadataView = 'study_metadata_view'; case StudyMetadataView = 'study_metadata_view';
case StudyMetadataEdit = 'study_metadata_edit'; case StudyMetadataEdit = 'study_metadata_edit';
case StudyHistoryView = 'study_history_view'; case StudyHistoryView = 'study_history_view';
@ -12,11 +14,14 @@ enum Permission: string
case StudyDelete = 'study_delete'; case StudyDelete = 'study_delete';
case StudyArchive = 'study_archive'; case StudyArchive = 'study_archive';
case ReportCreate = 'report_create'; case ReportCreate = 'report_create';
case ReportDictate = 'report_dictate';
case ReportDownload = 'report_download'; case ReportDownload = 'report_download';
case StudyNotesCreate = 'study_notes_create'; case StudyNotesCreate = 'study_notes_create';
case StudyNotesView = 'study_notes_view'; case StudyNotesView = 'study_notes_view';
case AttachmentUpload = 'attachment_upload'; case AttachmentUpload = 'attachment_upload';
case AttachmentDelete = 'attachment_delete';
case AttachmentDownload = 'attachment_download'; case AttachmentDownload = 'attachment_download';
case AssignPhysician = 'assign_physician'; case AssignRadiologist = 'assign_radiologist';
case UnassignPhysician = 'unassign_physician'; case UnassignRadiologist = 'unassign_radiologist';
case AccessAllWorklists = 'access_all_worklists';
} }

View File

@ -17,7 +17,7 @@ class StudyAssignmentController extends HashidControllerBase
{ {
public function show() public function show()
{ {
abort_unless(auth()->user()->may(Permission::AssignPhysician), 403); abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
$this->decodeKeys(); $this->decodeKeys();
$study = Study::with('assignedPhysician')->findOrFail($this->key); $study = Study::with('assignedPhysician')->findOrFail($this->key);
$rads = User::active()->role(Role::Radiologist)->get(['id', 'display_name', 'profile_photo_path', 'first_name', 'last_name', 'created_at']); $rads = User::active()->role(Role::Radiologist)->get(['id', 'display_name', 'profile_photo_path', 'first_name', 'last_name', 'created_at']);
@ -35,7 +35,7 @@ public function show()
public function remove() public function remove()
{ {
abort_unless(auth()->user()->may(Permission::AssignPhysician), 403); abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
$this->decodeKeys(); $this->decodeKeys();
$study = Study::with('assignedPhysician')->findOrFail($this->key); $study = Study::with('assignedPhysician')->findOrFail($this->key);
if ($study->assigned_physician_id !== null) { if ($study->assigned_physician_id !== null) {
@ -52,7 +52,7 @@ public function remove()
public function save(AssignPhysicianRequest $request) public function save(AssignPhysicianRequest $request)
{ {
abort_unless(auth()->user()->may(Permission::AssignPhysician), 403); abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
$this->decodeKeys(); $this->decodeKeys();
$study = Study::findOrFail($this->key); $study = Study::findOrFail($this->key);
$rad = User::active()->findOrFail($request->input('rad_id')); $rad = User::active()->findOrFail($request->input('rad_id'));