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);