parent
685f10ce44
commit
af36c285aa
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
|||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Mail\NewUserPassword;
|
||||
use App\Models\AuditLogEntry;
|
||||
use App\Models\School;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
@ -49,7 +50,9 @@ class UserController extends Controller
|
|||
if (! Auth::user()->is_admin) {
|
||||
abort(403);
|
||||
}
|
||||
|
||||
$oldEmail = $user->email;
|
||||
$wasAdmin = $user->is_admin;
|
||||
$wasTab = $user->is_tab;
|
||||
$validData = $request->validate([
|
||||
'first_name' => ['required'],
|
||||
'last_name' => ['required'],
|
||||
|
|
@ -70,6 +73,37 @@ class UserController extends Controller
|
|||
'is_admin' => $validData['is_admin'],
|
||||
'is_tab' => $validData['is_tab'],
|
||||
]);
|
||||
$user->refresh();
|
||||
$message = 'Updated user #'.$user->id.' - '.$oldEmail
|
||||
.'<br>Name: '.$user->full_name()
|
||||
.'<br>Email: '.$user->email
|
||||
.'<br>Cell Phone: '.$user->cell_phone
|
||||
.'<br>Judging Pref: '.$user->judging_preference
|
||||
.'<br>School: '.$user->school->name ?? 'none';
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $message,
|
||||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
if ($user->is_admin != $wasAdmin) {
|
||||
$messageStart = $user->is_admin ? 'Granted admin privileges to ' : 'Revoked admin privileges from ';
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $messageStart.$user->full_name().' - '.$user->email,
|
||||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
}
|
||||
if ($user->is_tab != $wasTab) {
|
||||
$messageStart = $user->is_tab ? 'Granted tabulation privileges to ' : 'Revoked tabulation privileges from ';
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $messageStart.$user->full_name().' - '.$user->email,
|
||||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
}
|
||||
|
||||
return redirect('/admin/users');
|
||||
}
|
||||
|
|
@ -101,7 +135,25 @@ class UserController extends Controller
|
|||
}
|
||||
$user->school_id = request('school_id');
|
||||
$user->save();
|
||||
|
||||
$message = 'Created user '.$user->email.' - '.$user->full_name().'<br>Cell Phone: '.$user->cell_phone.'<br>Judging Pref: '.$user->judging_preference;
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $message,
|
||||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
if ($user->school_id) {
|
||||
$message = 'Set user '.$user->full_name().' ('.$user->email.') as a director at '.$user->school->name.'(#'.$user->school->id.')';
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $message,
|
||||
'affected' => [
|
||||
'users' => [$user->id],
|
||||
'schools' => [$user->id],
|
||||
],
|
||||
]);
|
||||
}
|
||||
Mail::to($user->email)->send(new NewUserPassword($user, $randomPassword));
|
||||
|
||||
return redirect('/admin/users');
|
||||
|
|
@ -112,6 +164,13 @@ class UserController extends Controller
|
|||
if (! Auth::user()->is_admin) {
|
||||
abort(403);
|
||||
}
|
||||
$message = 'Deleted user '.$user->email;
|
||||
AuditLogEntry::create([
|
||||
'user' => auth()->user()->email,
|
||||
'ip_address' => request()->ip(),
|
||||
'message' => $message,
|
||||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
$user->delete();
|
||||
|
||||
return redirect()->route('admin.users.index')->with('success', 'User deleted successfully');
|
||||
|
|
|
|||
Loading…
Reference in New Issue