From ba55d75172cb02f38f1d279d1ad726be94342833 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Sat, 5 Jul 2025 23:43:42 -0500 Subject: [PATCH] add some observers for logging purposes --- app/Observers/EventObserver.php | 32 ++++++++++++++++ app/Observers/SchoolObserver.php | 33 ++++++++++++++++ app/Observers/UserObserver.php | 66 ++++++++++++++++++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 app/Observers/EventObserver.php create mode 100644 app/Observers/SchoolObserver.php create mode 100644 app/Observers/UserObserver.php diff --git a/app/Observers/EventObserver.php b/app/Observers/EventObserver.php new file mode 100644 index 0000000..9751a2a --- /dev/null +++ b/app/Observers/EventObserver.php @@ -0,0 +1,32 @@ +name; + $affected = ['events' => [$event->id]]; + auditionLog($message, $affected); + } + + public function updated(Event $event): void + { + $message = 'Renamed event '.$event->getOriginal('name').' to '.$event->name; + $affected = [ + 'events' => [$event->id], + 'auditions' => $event->auditions->pluck('id')->toArray(), + ]; + auditionLog($message, $affected); + } + + public function deleted(Event $event): void + { + $message = 'Removed event '.$event->name; + $affected = ['events' => [$event->id]]; + auditionLog($message, $affected); + } +} diff --git a/app/Observers/SchoolObserver.php b/app/Observers/SchoolObserver.php new file mode 100644 index 0000000..a749632 --- /dev/null +++ b/app/Observers/SchoolObserver.php @@ -0,0 +1,33 @@ +name; + $message .= '
'.$school->address; + $message .= '
'.$school->city.', '.$school->state.' '.$school->zip; + $affected = ['schools' => [$school->id]]; + auditionLog($message, $affected); + } + + public function updated(School $school): void + { + $message = 'Updated school '.$school->name; + $message .= '
'.$school->address; + $message .= '
'.$school->city.', '.$school->state.' '.$school->zip; + $affected = ['schools' => [$school->id]]; + auditionLog($message, $affected); + } + + public function deleted(School $school): void + { + $message = 'Removed school '.$school->name; + $affected = ['schools' => [$school->id]]; + auditionLog($message, $affected); + } +} diff --git a/app/Observers/UserObserver.php b/app/Observers/UserObserver.php new file mode 100644 index 0000000..13ba691 --- /dev/null +++ b/app/Observers/UserObserver.php @@ -0,0 +1,66 @@ +full_name(); + if ($user->school_id) { + $message .= '
School: '.$user->school->name; + } + $message .= '
Email: '.$user->email; + $message .= '
Phone: '.$user->cell_phone; + $message .= '
Judging Pref: '.$user->judging_preference; + $message .= '
Admin Privileges: '.$user->is_admin ? 'Yes' : 'No'; + $message .= '
Tabulator Privileges: '.$user->is_tab ? 'Yes' : 'No'; + $affected = ['users' => [$user->id]]; + auditionLog($message, $affected); + } + + public function updated(User $user): void + { + $message = 'Updated User '.$user->full_name().'< '.$user->getOriginal('email').' >'; + + if ($user->isDirty('school_id') && $user->school_id) { + $message .= '
School: '.$user->school->name; + } + + if ($user->isDirty('school_id') && ! $user->school_id) { + $message .= '
School: NONE'; + } + + if ($user->isDirty('email')) { + $message .= '
Email: '.$user->email; + } + + if ($user->isDirty('cell_phone')) { + $message .= '
Phone: '.$user->cell_phone; + } + + if ($user->isDirty('judging_preference')) { + $message .= '
Judging Pref: '.$user->judging_preference; + } + + if ($user->isDirty('is_admin')) { + $message .= '
Admin Privileges: '.($user->is_admin ? 'Yes' : 'No'); + } + + if ($user->isDirty('is_tab')) { + $message .= '
Tabulator Privileges: '.($user->is_tab ? 'Yes' : 'No'); + } + + $affected = ['users' => [$user->id]]; + auditionLog($message, $affected); + } + + public function deleted(User $user): void + { + $message = 'Removed User '.$user->full_name().' <'.$user->email.' >'; + $affected = ['users' => [$user->id]]; + auditionLog($message, $affected); + } +}