auditionadmin/app/Observers/StudentObserver.php

59 lines
1.2 KiB
PHP

<?php
namespace App\Observers;
use App\Models\AuditLogEntry;
use App\Models\Student;
class StudentObserver
{
/**
* Handle the Student "created" event.
*/
public function created(Student $student): void
{
$message = 'Created student #'.$student->id.' - '.$student->full_name().'<br>Grade: '.$student->grade.'<br>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
{
//
}
/**
* Handle the Student "deleted" event.
*/
public function deleted(Student $student): void
{
//
}
/**
* Handle the Student "restored" event.
*/
public function restored(Student $student): void
{
//
}
/**
* Handle the Student "force deleted" event.
*/
public function forceDeleted(Student $student): void
{
//
}
}