diff --git a/app/Http/Controllers/Admin/SchoolController.php b/app/Http/Controllers/Admin/SchoolController.php
index 3d335a6..702b602 100644
--- a/app/Http/Controllers/Admin/SchoolController.php
+++ b/app/Http/Controllers/Admin/SchoolController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
+use App\Models\AuditLogEntry;
use App\Models\School;
use App\Models\SchoolEmailDomain;
use App\Services\Invoice\InvoiceDataService;
@@ -69,6 +70,13 @@ class SchoolController extends Controller
'state' => request('state'),
'zip' => request('zip'),
]);
+ $message = 'Modified school #'.$school->id.' - '.$school->name.' with address
'.$school->address.'
'.$school->city.', '.$school->state.' '.$school->zip;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
return redirect()->route('admin.schools.show', ['school' => $school->id])->with('success',
'School '.$school->name.' updated');
@@ -100,6 +108,13 @@ class SchoolController extends Controller
'state' => request('state'),
'zip' => request('zip'),
]);
+ $message = 'Created school #'.$school->id.' - '.$school->name.' with address
'.$school->address.'
'.$school->city.', '.$school->state.' '.$school->zip;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
return redirect('/admin/schools')->with('success', 'School '.$school->name.' created');
}
@@ -110,6 +125,13 @@ class SchoolController extends Controller
return to_route('admin.schools.index')->with('error', 'You cannot delete a school with students.');
}
$name = $school->name;
+ $message = 'Delete school #'.$school->id.' - '.$school->name;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
$school->delete();
return to_route('admin.schools.index')->with('success', 'School '.$school->name.' deleted');
@@ -128,6 +150,12 @@ class SchoolController extends Controller
'school_id' => $school->id,
'domain' => request('domain'),
]);
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => 'Added '.request('domain').' as an email domain for school #'.$school->id.' - '.$school->name,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
return redirect()->route('admin.schools.show', $school)->with('success', 'Domain Added');
diff --git a/app/Http/Controllers/SchoolController.php b/app/Http/Controllers/SchoolController.php
index a084107..fa4bf75 100644
--- a/app/Http/Controllers/SchoolController.php
+++ b/app/Http/Controllers/SchoolController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
+use App\Models\AuditLogEntry;
use App\Models\School;
use App\Models\SchoolEmailDomain;
use Illuminate\Http\RedirectResponse;
@@ -34,16 +35,41 @@ class SchoolController extends Controller
'state' => request('state'),
'zip' => request('zip'),
]);
+ $message = 'Created school #'.$school->id.' - '.$school->name.' with address
'.$school->address.'
'.$school->city.', '.$school->state.' '.$school->zip;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
if (! Auth::user()->school) {
Auth::user()->update([
'school_id' => $school->id,
]);
-
+ $message = 'Set user '.auth()->user()->full_name().' ('.auth()->user()->email.') as a director at '.$school->name.'(#'.$school->id.')';
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'users' => [auth()->user()->id],
+ 'schools' => [$school->id],
+ ],
+ ]);
SchoolEmailDomain::create([
'school_id' => $school->id,
'domain' => Auth::user()->emailDomain(),
]);
+ $message = 'Added '.auth()->user()->emailDomain().' as an email domain for '.$school->name.' (#'.$school->id.')';
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => [
+ 'schools' => [$school->id],
+ ],
+ ]);
}
return redirect('/schools/'.$school->id);
@@ -96,6 +122,13 @@ class SchoolController extends Controller
'state' => request('state'),
'zip' => request('zip'),
]);
+ $message = 'Modified school #'.$school->id.' - '.$school->name.' with address
'.$school->address.'
'.$school->city.', '.$school->state.' '.$school->zip;
+ AuditLogEntry::create([
+ 'user' => auth()->user()->email,
+ 'ip_address' => request()->ip(),
+ 'message' => $message,
+ 'affected' => ['schools' => [$school->id]],
+ ]);
return redirect()->route('schools.show', $school->id)->with('success', 'School details updated');
}
diff --git a/routes/user.php b/routes/user.php
index 95bd5b1..2d84a45 100644
--- a/routes/user.php
+++ b/routes/user.php
@@ -45,6 +45,6 @@ Route::middleware(['auth', 'verified'])->controller(SchoolController::class)->gr
Route::get('/schools/create', 'create')->name('schools.create');
Route::post('/schools', 'store')->name('schools.store');
Route::get('/schools/{school}/edit', 'edit')->name('schools.edit');
- Route::get('/schools/{school}', 'show')->name('schools.show')->name('schools.show');
+ Route::get('/schools/{school}', 'show')->name('schools.show');
Route::patch('/schools/{school}', 'update')->name('schools.update');
});