52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Observers;
|
|
|
|
use App\Models\PrelimDefinition;
|
|
use App\Models\Room;
|
|
use App\Models\ScoringGuide;
|
|
|
|
class PrelimDefinitionObserver
|
|
{
|
|
/**
|
|
* Handle the PrelimDefinition "created" event.
|
|
*/
|
|
public function created(PrelimDefinition $prelimDefinition): void
|
|
{
|
|
$message = 'Created Prelim for '.$prelimDefinition->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 .= '<br>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 .= '<br>Scoring Guide: '.$oldScoringGuide->name.' -> '.$prelimDefinition->scoringGuide->name;
|
|
}
|
|
|
|
if ($prelimDefinition->getOriginal('passing_score') !== $prelimDefinition->passing_score) {
|
|
$message .= '<br>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]]);
|
|
}
|
|
}
|