wip
This commit is contained in:
parent
13067b9697
commit
8723af8c57
@ -8,10 +8,14 @@ class HashedStudyControllerBase extends HashidControllerBase
|
|||||||
{
|
{
|
||||||
protected ?Study $study = null;
|
protected ?Study $study = null;
|
||||||
|
|
||||||
protected function getStudy(): Study
|
protected function getStudy(array|string|null $relations = null): Study
|
||||||
{
|
{
|
||||||
$this->decodeKeys();
|
$this->decodeKeys();
|
||||||
|
if ($relations !== null) {
|
||||||
|
$this->study = Study::with($relations)->findOrFail($this->key);
|
||||||
|
} else {
|
||||||
$this->study = Study::findOrFail($this->key);
|
$this->study = Study::findOrFail($this->key);
|
||||||
|
}
|
||||||
|
|
||||||
return $this->study;
|
return $this->study;
|
||||||
}
|
}
|
||||||
|
@ -6,20 +6,18 @@
|
|||||||
use App\Domain\ACL\Permission;
|
use App\Domain\ACL\Permission;
|
||||||
use App\Domain\ACL\Role;
|
use App\Domain\ACL\Role;
|
||||||
use App\Domain\Report\ReportStatus;
|
use App\Domain\Report\ReportStatus;
|
||||||
use App\Http\Controllers\HashidControllerBase;
|
use App\Http\Controllers\HashedStudyControllerBase;
|
||||||
use App\Http\Requests\AssignPhysicianRequest;
|
use App\Http\Requests\AssignPhysicianRequest;
|
||||||
use App\Models\Study;
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Services\AuditTrail\Activity;
|
use App\Services\AuditTrail\Activity;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class AssignmentController extends HashidControllerBase
|
class AssignmentController extends HashedStudyControllerBase
|
||||||
{
|
{
|
||||||
public function show()
|
public function show()
|
||||||
{
|
{
|
||||||
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
||||||
$this->decodeKeys();
|
$study = $this->getStudy('assignedPhysicians');
|
||||||
$study = Study::with('assignedPhysicians')->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']);
|
||||||
$stats = Radiologists::worklist_stats(3, ReportStatus::Finalized->value);
|
$stats = Radiologists::worklist_stats(3, ReportStatus::Finalized->value);
|
||||||
foreach ($stats as $rad) {
|
foreach ($stats as $rad) {
|
||||||
@ -36,8 +34,7 @@ public function show()
|
|||||||
public function remove(AssignPhysicianRequest $request)
|
public function remove(AssignPhysicianRequest $request)
|
||||||
{
|
{
|
||||||
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
||||||
$this->decodeKeys();
|
$study = $this->getStudy('assignedPhysicians');
|
||||||
$study = Study::with('assignedPhysicians')->findOrFail($this->key);
|
|
||||||
$user = User::active()->findOrFail($request->input('rad_id'));
|
$user = User::active()->findOrFail($request->input('rad_id'));
|
||||||
|
|
||||||
if ($study->isAssigned($user)) {
|
if ($study->isAssigned($user)) {
|
||||||
@ -58,8 +55,7 @@ public function remove(AssignPhysicianRequest $request)
|
|||||||
public function save(AssignPhysicianRequest $request)
|
public function save(AssignPhysicianRequest $request)
|
||||||
{
|
{
|
||||||
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
abort_unless(auth()->user()->may(Permission::AssignRadiologist), 403);
|
||||||
$this->decodeKeys();
|
$study = $this->getStudy('assignedPhysicians');
|
||||||
$study = Study::with('assignedPhysicians')->findOrFail($this->key);
|
|
||||||
$rad = User::active()->findOrFail($request->input('rad_id'));
|
$rad = User::active()->findOrFail($request->input('rad_id'));
|
||||||
|
|
||||||
$study->assignedPhysicians()->attach($rad->id);
|
$study->assignedPhysicians()->attach($rad->id);
|
||||||
|
Loading…
Reference in New Issue
Block a user