From 7410190b02461d9fe0c6b58cefadf02ae5b2df75 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Tue, 16 Jul 2024 12:35:35 -0500 Subject: [PATCH] auditionadmin-24 After a user modifies their profile, it gives a 404 Issue corrected using Fortify routes. Also implemented change password form. Closes #24 --- app/Http/Controllers/UserController.php | 17 +++++++++++------ resources/views/dashboard/profile.blade.php | 21 ++++++++++++++++++--- routes/user.php | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index d109f38..5a30496 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -4,6 +4,8 @@ namespace App\Http\Controllers; use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; + use function abort; use function redirect; @@ -54,7 +56,10 @@ class UserController extends Controller */ public function update(Request $request, User $user) { - // + if ($user->id !== Auth::user()->id) { + return redirect()->route('dashboard')->with('error', 'You can only modify your own profile'); + } + dd($request->all()); } /** @@ -67,19 +72,19 @@ class UserController extends Controller public function set_school(Request $request, User $user) { - if ($request->user()->cannot('set_school',$user)) abort(403); + if ($request->user()->cannot('set_school', $user)) { + abort(403); + } request()->validate([ - 'school_id' => ['required','integer','exists:schools,id'] + 'school_id' => ['required', 'integer', 'exists:schools,id'], ]); $user->update([ - 'school_id' => request('school_id') + 'school_id' => request('school_id'), ]); // TODO we probably don't want to go here if done from an admin page return redirect('/my_school'); } } - - diff --git a/resources/views/dashboard/profile.blade.php b/resources/views/dashboard/profile.blade.php index 3d6b6d2..ea3c843 100644 --- a/resources/views/dashboard/profile.blade.php +++ b/resources/views/dashboard/profile.blade.php @@ -4,8 +4,11 @@ User Information - Use a permanent address where you receive mail - + +

Use a permanent address where you receive mail

+

Changing your email address will require verification

+
+ @@ -13,7 +16,19 @@ - + + +
+ + + Change Password + + + + + + +
diff --git a/routes/user.php b/routes/user.php index ffeace0..95bd5b1 100644 --- a/routes/user.php +++ b/routes/user.php @@ -28,7 +28,7 @@ Route::middleware(['auth', 'verified', 'can:create,App\Models\Entry'])->controll // User Related Routes Route::middleware(['auth', 'verified'])->controller(UserController::class)->group(function () { Route::patch('/users/{user}/set_school', 'set_school')->name('users.set_school'); - Route::patch('/users/{$user}', 'update')->name('users.update'); + Route::patch('/user_profile/{$user}', 'update')->name('users.update'); }); // Student Related Routes -- 2.39.5