diff --git a/app/Http/Controllers/Admin/StudentController.php b/app/Http/Controllers/Admin/StudentController.php
index c0a4a3c..f536f88 100644
--- a/app/Http/Controllers/Admin/StudentController.php
+++ b/app/Http/Controllers/Admin/StudentController.php
@@ -4,11 +4,14 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Audition;
+use App\Models\AuditLogEntry;
use App\Models\School;
use App\Models\Student;
use Illuminate\Support\Facades\Auth;
use function abort;
+use function auth;
+use function request;
use function to_route;
use function view;
@@ -55,14 +58,24 @@ class StudentController extends Controller
return redirect('/admin/students/create')->with('error', 'This student already exists.');
}
- Student::create([
+ $student = Student::create([
'first_name' => request('first_name'),
'last_name' => request('last_name'),
'grade' => request('grade'),
'school_id' => request('school_id'),
]);
+ $message = 'Created student #'.$student->id.' - '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
- return redirect('/admin/students');
+ return redirect('/admin/students')->with('success', 'Created student successfully');
}
public function edit(Student $student)
@@ -103,7 +116,8 @@ class StudentController extends Controller
->where('school_id', request('school_id'))
->where('id', '!=', $student->id)
->exists()) {
- return redirect('/admin/students/'.$student->id.'/edit')->with('error', 'A student with that name already exists at that school');
+ return redirect('/admin/students/'.$student->id.'/edit')->with('error',
+ 'A student with that name already exists at that school');
}
$student->update([
@@ -113,7 +127,18 @@ class StudentController extends Controller
'school_id' => request('school_id'),
]);
- return redirect('/admin/students');
+ $message = 'Updated student #'.$student->id.'
Name: '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
+
+ return redirect('/admin/students')->with('success', 'Student updated');
}
@@ -123,6 +148,16 @@ class StudentController extends Controller
return to_route('admin.students.index')->with('error', 'You cannot delete a student with entries.');
}
$name = $student->full_name();
+ $message = 'Deleted student #'.$student->id.'
Name: '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
$student->delete();
return to_route('admin.students.index')->with('success', 'Student '.$name.' deleted successfully.');
diff --git a/app/Http/Controllers/StudentController.php b/app/Http/Controllers/StudentController.php
index 82baca5..1b24434 100644
--- a/app/Http/Controllers/StudentController.php
+++ b/app/Http/Controllers/StudentController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\Audition;
+use App\Models\AuditLogEntry;
use App\Models\Student;
use App\Rules\UniqueFullNameAtSchool;
use Illuminate\Http\Request;
@@ -58,10 +59,18 @@ class StudentController extends Controller
'grade' => request('grade'),
'school_id' => Auth::user()->school_id,
]);
+ $message = 'Created student #'.$student->id.' - '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
- $request->session()->put('auditionMessages', ['success', 'I did it again ma']);
-
- return redirect('/students');
+ return redirect('/students')->with('success', 'Student Created');
}
/**
@@ -104,7 +113,8 @@ class StudentController extends Controller
->where('school_id', Auth::user()->school_id)
->where('id', '!=', $student->id)
->exists()) {
- return redirect()->route('students.edit', $student)->with('error', 'A student with that name already exists at your school.');
+ return redirect()->route('students.edit', $student)->with('error',
+ 'A student with that name already exists at your school.');
}
$student->update([
@@ -112,6 +122,16 @@ class StudentController extends Controller
'last_name' => request('last_name'),
'grade' => request('grade'),
]);
+ $message = 'Updated student #'.$student->id.'
Name: '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
return redirect('/students')->with('success', 'Student updated successfully.');
}
@@ -124,6 +144,16 @@ class StudentController extends Controller
if ($request->user()->cannot('delete', $student)) {
abort(403);
}
+ $message = 'Deleted student #'.$student->id.'
Name: '.$student->full_name().'
Grade: '.$student->grade.'
School: '.$student->school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'students' => [$student->id],
+ 'schools' => [$student->school_id],
+ ],
+ ]);
$student->delete();
return redirect(route('students.index'));