67 lines
2.0 KiB
PHP
67 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Observers;
|
|
|
|
use App\Models\User;
|
|
|
|
class UserObserver
|
|
{
|
|
public function created(User $user): void
|
|
{
|
|
$message = 'Added User '.$user->full_name();
|
|
if ($user->school_id) {
|
|
$message .= '<br>School: '.$user->school->name;
|
|
}
|
|
$message .= '<br>Email: '.$user->email;
|
|
$message .= '<br>Phone: '.$user->cell_phone;
|
|
$message .= '<br>Judging Pref: '.$user->judging_preference;
|
|
$message .= '<br>Admin Privileges: '.$user->is_admin ? 'Yes' : 'No';
|
|
$message .= '<br>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 .= '<br>School: '.$user->school->name;
|
|
}
|
|
|
|
if ($user->isDirty('school_id') && ! $user->school_id) {
|
|
$message .= '<br>School: NONE';
|
|
}
|
|
|
|
if ($user->isDirty('email')) {
|
|
$message .= '<br>Email: '.$user->email;
|
|
}
|
|
|
|
if ($user->isDirty('cell_phone')) {
|
|
$message .= '<br>Phone: '.$user->cell_phone;
|
|
}
|
|
|
|
if ($user->isDirty('judging_preference')) {
|
|
$message .= '<br>Judging Pref: '.$user->judging_preference;
|
|
}
|
|
|
|
if ($user->isDirty('is_admin')) {
|
|
$message .= '<br>Admin Privileges: '.($user->is_admin ? 'Yes' : 'No');
|
|
}
|
|
|
|
if ($user->isDirty('is_tab')) {
|
|
$message .= '<br>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);
|
|
}
|
|
}
|