fix: sync patient updated_at when visit is created or updated
This commit is contained in:
@@ -13,7 +13,6 @@ class Visit extends Model
|
||||
{
|
||||
use HasUserStamps;
|
||||
|
||||
protected $touches = ['patientRecord'];
|
||||
protected $fillable = [
|
||||
'patient',
|
||||
'visit_date',
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Models\Visit;
|
||||
|
||||
class VisitObserver
|
||||
{
|
||||
public function created(Visit $visit): void
|
||||
{
|
||||
$this->touchPatient($visit);
|
||||
}
|
||||
|
||||
public function updated(Visit $visit): void
|
||||
{
|
||||
$this->touchPatient($visit);
|
||||
}
|
||||
|
||||
private function touchPatient(Visit $visit): void
|
||||
{
|
||||
$patient = $visit->patientRecord;
|
||||
if (! $patient) {
|
||||
return;
|
||||
}
|
||||
$patient->updated_at = now();
|
||||
$patient->save();
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,7 @@
|
||||
use App\Observers\PatientIllnessObserver;
|
||||
use App\Observers\PatientObserver;
|
||||
use App\Observers\SyncObserver;
|
||||
use App\Observers\VisitObserver;
|
||||
use App\Filament\Widgets\VisitStatsWidget;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
@@ -59,6 +60,7 @@ public function boot(): void
|
||||
Prescription::observe($observer);
|
||||
SurgeryAppointment::observe($observer);
|
||||
Visit::observe($observer);
|
||||
Visit::observe(VisitObserver::class);
|
||||
User::observe($observer);
|
||||
Role::observe($observer);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user