From 8723af8c571b0dcdc652ad1257fc6554ac05fee6 Mon Sep 17 00:00:00 2001 From: Dr Masroor Ehsan Date: Wed, 15 Jan 2025 11:24:09 +0600 Subject: [PATCH] wip --- app/Http/Controllers/HashedStudyControllerBase.php | 8 ++++++-- .../Controllers/Staff/AssignmentController.php | 14 +++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/HashedStudyControllerBase.php b/app/Http/Controllers/HashedStudyControllerBase.php index 80f365e..82b0359 100644 --- a/app/Http/Controllers/HashedStudyControllerBase.php +++ b/app/Http/Controllers/HashedStudyControllerBase.php @@ -8,10 +8,14 @@ class HashedStudyControllerBase extends HashidControllerBase { protected ?Study $study = null; - protected function getStudy(): Study + protected function getStudy(array|string|null $relations = null): Study { $this->decodeKeys(); - $this->study = Study::findOrFail($this->key); + if ($relations !== null) { + $this->study = Study::with($relations)->findOrFail($this->key); + } else { + $this->study = Study::findOrFail($this->key); + } return $this->study; } diff --git a/app/Http/Controllers/Staff/AssignmentController.php b/app/Http/Controllers/Staff/AssignmentController.php index a4a5986..14d223b 100644 --- a/app/Http/Controllers/Staff/AssignmentController.php +++ b/app/Http/Controllers/Staff/AssignmentController.php @@ -6,20 +6,18 @@ use App\Domain\ACL\Permission; use App\Domain\ACL\Role; use App\Domain\Report\ReportStatus; -use App\Http\Controllers\HashidControllerBase; +use App\Http\Controllers\HashedStudyControllerBase; use App\Http\Requests\AssignPhysicianRequest; -use App\Models\Study; use App\Models\User; use App\Services\AuditTrail\Activity; use Carbon\Carbon; -class AssignmentController extends HashidControllerBase +class AssignmentController extends HashedStudyControllerBase { public function show() { abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403); - $this->decodeKeys(); - $study = Study::with('assignedPhysicians')->findOrFail($this->key); + $study = $this->getStudy('assignedPhysicians'); $rads = User::active()->role(Role::Radiologist)->get(['id', 'display_name', 'profile_photo_path', 'first_name', 'last_name', 'created_at']); $stats = Radiologists::worklist_stats(3, ReportStatus::Finalized->value); foreach ($stats as $rad) { @@ -36,8 +34,7 @@ public function show() public function remove(AssignPhysicianRequest $request) { abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403); - $this->decodeKeys(); - $study = Study::with('assignedPhysicians')->findOrFail($this->key); + $study = $this->getStudy('assignedPhysicians'); $user = User::active()->findOrFail($request->input('rad_id')); if ($study->isAssigned($user)) { @@ -58,8 +55,7 @@ public function remove(AssignPhysicianRequest $request) public function save(AssignPhysicianRequest $request) { abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403); - $this->decodeKeys(); - $study = Study::with('assignedPhysicians')->findOrFail($this->key); + $study = $this->getStudy('assignedPhysicians'); $rad = User::active()->findOrFail($request->input('rad_id')); $study->assignedPhysicians()->attach($rad->id);