From ec7cc2b80f201ab0fd48a434497c62fdc11a1885 Mon Sep 17 00:00:00 2001 From: Masroor Ehsan Date: Wed, 8 Jan 2025 20:42:28 +0600 Subject: [PATCH] minor --- app/Models/StudyReport.php | 16 ++++++++++++++-- ...4_12_28_051451_create_study_reports_table.php | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/Models/StudyReport.php b/app/Models/StudyReport.php index c46bae2..bc1cf39 100644 --- a/app/Models/StudyReport.php +++ b/app/Models/StudyReport.php @@ -21,10 +21,22 @@ public function radiologist(): BelongsTo return $this->belongsTo(User::class, 'read_by_id'); } - public function updateStatus(ReportStatus $status, User|int|null $user = null): void + public function setStatus(ReportStatus $status, User|int|null $user = null): void { $user_id = me($user)->id; - $params = ['report_status' => $status->value, 'read_by_id' => $user_id]; + $params = ['report_status' => $status->value]; + switch ($status) { + case ReportStatus::Dictated: + $params['dictated_by_id'] = $user_id; + break; + case ReportStatus::Preliminary: + case ReportStatus::Finalized: + $params['read_by_id'] = $user_id; + break; + case ReportStatus::Approved: + $params['approved_by_id'] = $user_id; + break; + } $this->update($params); $params = ['report_status' => $status->value]; diff --git a/database/migrations/2024_12_28_051451_create_study_reports_table.php b/database/migrations/2024_12_28_051451_create_study_reports_table.php index 0715156..3a327e9 100644 --- a/database/migrations/2024_12_28_051451_create_study_reports_table.php +++ b/database/migrations/2024_12_28_051451_create_study_reports_table.php @@ -23,7 +23,7 @@ public function up(): void $table->foreignIdFor(Study::class)->index()->constrained()->cascadeOnDelete(); $table->foreignIdFor(User::class, 'read_by_id')->index()->constrained()->cascadeOnDelete(); - $table->foreignIdFor(User::class, 'dictate_by_id')->index()->nullable()->constrained()->nullOnDelete(); + $table->foreignIdFor(User::class, 'dictated_by_id')->index()->nullable()->constrained()->nullOnDelete(); $table->timestamp('dictated_at')->nullable(); $table->foreignIdFor(User::class, 'approved_by_id')->index()->nullable()->constrained()->nullOnDelete();