id.' - '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
AuditLogEntry::create([
'user' => auth()->user()->email ?? 'none',
'ip_address' => request()->ip(),
'message' => $message,
'affected' => [
'students' => [$student->id],
'schools' => [$student->school_id],
],
]);
}
/**
* Handle the Student "updated" event.
*/
public function updated(Student $student): void
{
$message = 'Updated student #'.$student->id;
$message .= '
Name: '.$student->getOriginal('first_name').' '.$student->getOriginal('last_name');
if ($student->getOriginal('first_name') !== $student->first_name || $student->getOriginal('last_name') !== $student->last_name) {
$message .= ' -> '.$student->first_name.' '.$student->last_name;
}
$message .= '
Grade: '.$student->getOriginal('grade');
if ($student->getOriginal('grade') !== $student->grade) {
$message .= ' -> '.$student->grade;
}
$originalSchool = School::find($student->getOriginal('school_id'))->name;
$schoolsAffected[] = $student->school_id;
$message .= '
School: '.$originalSchool.' (#'.$student->getOriginal('school_id').')';
if ($student->school_id !== $student->getOriginal('school_id')) {
$schoolsAffected[] = $student->getOriginal('school_id');
$message .= ' -> '.$student->school->name.' (#'.$student->school_id.')';
}
AuditLogEntry::create([
'user' => auth()->user()->email ?? 'none',
'ip_address' => request()->ip(),
'message' => $message,
'affected' => [
'students' => [$student->id],
'schools' => $schoolsAffected,
],
]);
}
/**
* Handle the Student "deleted" event.
*/
public function deleted(Student $student): void
{
$message = 'Deleted student #'.$student->id.' - '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
AuditLogEntry::create([
'user' => auth()->user()->email ?? 'none',
'ip_address' => request()->ip(),
'message' => $message,
'affected' => [
'students' => [$student->id],
'schools' => [$student->school_id],
],
]);
}
}