diff --git a/app/Observers/PrelimDefinitionObserver.php b/app/Observers/PrelimDefinitionObserver.php new file mode 100644 index 0000000..e66a915 --- /dev/null +++ b/app/Observers/PrelimDefinitionObserver.php @@ -0,0 +1,51 @@ +audition->name.'.'; + $affected = ['auditions' => [$prelimDefinition->audition_id]]; + auditionLog($message, $affected); + } + + /** + * Handle the PrelimDefinition "updated" event. + */ + public function updated(PrelimDefinition $prelimDefinition): void + { + $message = 'Updated Prelim for '.$prelimDefinition->audition->name.'.'; + if ($prelimDefinition->getOriginal('room_id') !== $prelimDefinition->room_id) { + $oldRoom = Room::find($prelimDefinition->getOriginal('room_id')); + $message .= '
Room: '.$oldRoom->name.' -> '.$prelimDefinition->room->name; + } + + if ($prelimDefinition->getOriginal('scoring_guide_id') !== $prelimDefinition->scoring_guide_id) { + $oldScoringGuide = ScoringGuide::find($prelimDefinition->getOriginal('scoring_guide_id')); + $message .= '
Scoring Guide: '.$oldScoringGuide->name.' -> '.$prelimDefinition->scoringGuide->name; + } + + if ($prelimDefinition->getOriginal('passing_score') !== $prelimDefinition->passing_score) { + $message .= '
Passing Score: '.$prelimDefinition->getOriginal('passing_score').' -> '.$prelimDefinition->passing_score; + } + auditionLog($message, ['auditions' => [$prelimDefinition->audition_id]]); + } + + /** + * Handle the PrelimDefinition "deleted" event. + */ + public function deleted(PrelimDefinition $prelimDefinition): void + { + $message = 'Deleted Prelim for '.$prelimDefinition->audition->name.'.'; + auditionLog($message, ['auditions' => [$prelimDefinition->audition_id]]); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 398ee75..c7288e0 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -12,6 +12,7 @@ use App\Models\BonusScore; use App\Models\Entry; use App\Models\EntryFlag; use App\Models\Event; +use App\Models\PrelimDefinition; use App\Models\School; use App\Models\SchoolEmailDomain; use App\Models\ScoreSheet; @@ -23,6 +24,7 @@ use App\Observers\BonusScoreObserver; use App\Observers\EntryFlagObserver; use App\Observers\EntryObserver; use App\Observers\EventObserver; +use App\Observers\PrelimDefinitionObserver; use App\Observers\SchoolEmailDomainObserver; use App\Observers\SchoolObserver; use App\Observers\ScoreSheetObserver; @@ -69,6 +71,7 @@ class AppServiceProvider extends ServiceProvider EntryFlag::observe(EntryFlagObserver::class); Event::observe(EventObserver::class); School::observe(SchoolObserver::class); + PrelimDefinition::observe(PrelimDefinitionObserver::class); SchoolEmailDomain::observe(SchoolEmailDomainObserver::class); ScoreSheet::observe(ScoreSheetObserver::class); ScoringGuide::observe(ScoringGuideObserver::class);