diff --git a/app/Http/Controllers/Admin/EntryController.php b/app/Http/Controllers/Admin/EntryController.php index c7b8cdb..dbd2fd3 100644 --- a/app/Http/Controllers/Admin/EntryController.php +++ b/app/Http/Controllers/Admin/EntryController.php @@ -7,6 +7,7 @@ use App\Actions\Entries\UpdateEntry; use App\Http\Controllers\Controller; use App\Http\Requests\EntryStoreRequest; use App\Models\Audition; +use App\Models\AuditLogEntry; use App\Models\Entry; use App\Models\School; use App\Models\Seat; @@ -139,7 +140,9 @@ class EntryController extends Controller // TODO: When updating Laravel, can we use the chaperone method I heard about ot load the entry back into the score $scores = $entry->scoreSheets()->with('audition', 'judge', 'entry')->get(); - return view('admin.entries.edit', compact('entry', 'students', 'auditions', 'scores')); + $logEntries = AuditLogEntry::whereJsonContains('affected->entries', $entry->id)->orderBy('created_at', 'desc')->get(); + + return view('admin.entries.edit', compact('entry', 'students', 'auditions', 'scores', 'logEntries')); } public function update(Request $request, Entry $entry, UpdateEntry $updater) diff --git a/app/Http/Controllers/Admin/SchoolController.php b/app/Http/Controllers/Admin/SchoolController.php index d3fbca9..c8b411f 100644 --- a/app/Http/Controllers/Admin/SchoolController.php +++ b/app/Http/Controllers/Admin/SchoolController.php @@ -6,6 +6,7 @@ use App\Actions\Schools\CreateSchool; use App\Actions\Schools\SetHeadDirector; use App\Http\Controllers\Controller; use App\Http\Requests\SchoolStoreRequest; +use App\Models\AuditLogEntry; use App\Models\School; use App\Models\SchoolEmailDomain; use App\Models\User; @@ -37,8 +38,9 @@ class SchoolController extends Controller public function show(School $school) { + $logEntries = AuditLogEntry::whereJsonContains('affected->schools', $school->id)->orderBy('created_at', 'desc')->get(); - return view('admin.schools.show', ['school' => $school]); + return view('admin.schools.show', compact('school', 'logEntries')); } public function edit(School $school) diff --git a/app/Http/Controllers/Admin/StudentController.php b/app/Http/Controllers/Admin/StudentController.php index 5fd2514..def4519 100644 --- a/app/Http/Controllers/Admin/StudentController.php +++ b/app/Http/Controllers/Admin/StudentController.php @@ -81,8 +81,11 @@ class StudentController extends Controller $event_entries = $student->entries()->with('audition.flags')->get()->groupBy('audition.event_id'); $events = Event::all(); + $logEntries = AuditLogEntry::whereJsonContains('affected->students', $student->id)->orderBy('created_at', + 'desc')->get(); + return view('admin.students.edit', - compact('student', 'schools', 'minGrade', 'maxGrade', 'events', 'event_entries')); + compact('student', 'schools', 'minGrade', 'maxGrade', 'events', 'event_entries', 'logEntries')); } public function update(StudentStoreRequest $request, Student $student) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 2c79a2d..6d7ce3b 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -31,8 +31,10 @@ class UserController extends Controller { $schools = School::orderBy('name')->get(); + $logEntries = AuditLogEntry::whereJsonContains('affected->users', $user->id)->orderBy('created_at', 'desc')->get(); + $userActions = AuditLogEntry::where('user', $user->email)->orderBy('created_at', 'desc')->get(); - return view('admin.users.edit', ['user' => $user, 'schools' => $schools]); + return view('admin.users.edit', compact('user', 'schools', 'logEntries', 'userActions')); } public function create() diff --git a/resources/views/admin/entries/edit.blade.php b/resources/views/admin/entries/edit.blade.php index a2b6912..9fcce7e 100644 --- a/resources/views/admin/entries/edit.blade.php +++ b/resources/views/admin/entries/edit.blade.php @@ -127,4 +127,29 @@ + + + Log Entries + + + + Timestamp + IP + User + Message + + + + + @foreach($logEntries as $logEntry) + + {{ $logEntry->created_at }} + {{ $logEntry->ip_address }} + {{ $logEntry->user }} + {!! $logEntry->message !!} + + @endforeach + + + diff --git a/resources/views/admin/schools/show.blade.php b/resources/views/admin/schools/show.blade.php index 6ae3d6f..ed08931 100644 --- a/resources/views/admin/schools/show.blade.php +++ b/resources/views/admin/schools/show.blade.php @@ -62,4 +62,30 @@ + + + Log Entries + + + + Timestamp + IP + User + Message + + + + + @foreach($logEntries as $logEntry) + + {{ $logEntry->created_at }} + {{ $logEntry->ip_address }} + {{ $logEntry->user }} + {!! $logEntry->message !!} + + @endforeach + + + + diff --git a/resources/views/admin/students/edit.blade.php b/resources/views/admin/students/edit.blade.php index cdc76be..0e85759 100644 --- a/resources/views/admin/students/edit.blade.php +++ b/resources/views/admin/students/edit.blade.php @@ -80,4 +80,29 @@ @endforeach + + + Log Entries + + + + Timestamp + IP + User + Message + + + + + @foreach($logEntries as $logEntry) + + {{ $logEntry->created_at }} + {{ $logEntry->ip_address }} + {{ $logEntry->user }} + {!! $logEntry->message !!} + + @endforeach + + + diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index 9ac2c34..be2a031 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -53,4 +53,54 @@ + + + User Actions + + + + Timestamp + IP + User + Message + + + + + @foreach($userActions as $logEntry) + + {{ $logEntry->created_at }} + {{ $logEntry->ip_address }} + {{ $logEntry->user }} + {!! $logEntry->message !!} + + @endforeach + + + + + + Log Entries Affecting User + + + + Timestamp + IP + User + Message + + + + + @foreach($logEntries as $logEntry) + + {{ $logEntry->created_at }} + {{ $logEntry->ip_address }} + {{ $logEntry->user }} + {!! $logEntry->message !!} + + @endforeach + + +