59 lines
1.2 KiB
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
|
|
{
|
|
//
|
|
}
|
|
}
|