diff --git a/skolehjem/app/Http/Controllers/UserController.php b/skolehjem/app/Http/Controllers/UserController.php index 3abe711..d068c33 100644 --- a/skolehjem/app/Http/Controllers/UserController.php +++ b/skolehjem/app/Http/Controllers/UserController.php @@ -121,14 +121,24 @@ class UserController extends Controller */ public function update(Request $request, $id) { - $data = $request->all(); - $user = User::find($id); if($id === Auth::id() || auth()->user()->hasPermissionTo("user.edit")) { if ($request->roles != null) { //You can only edit roles on the admin site, so if there is an input roles, then update user info and edit roles - /** @var User $user */ - $user->update($data); + if ($request->password != "") { // If you have edited the password, then run this + if ($request->password == $request->password2) { // If the password is the same as confirm password, then update everything from user + $data = $request->all(); + /** @var User $user */ + $user->update($data); + } else // Else go back with an error message + return redirect()->route("users.edit", ['user' => $id])->with('error#passnotsame', '

Der stod ikke det samme i `Password` & `Confirm Password`!

'); + } + else { // If you haven't touched the password, then update everything else but password + $data = $request->only(['name_first', 'name_last', 'email', 'phone', 'roles']); + /** @var User $user */ + $user->update($data); + } + $user->roles()->detach(); $user->forgetCachedPermissions(); @@ -138,6 +148,7 @@ class UserController extends Controller //$user->save(); } else { // Else if you're not on the admin site (user site) + $data = $request->all(); if ($request->input('password') != null) { // If you're editing the password if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back with fail message. return redirect()->route("users.accounteditpass")->with('error#notsamepass', '

Der stod ikke det samme i `Nyt Password` & `Bekræft Nyt Password`!

'); @@ -148,9 +159,10 @@ class UserController extends Controller $user->update($data); Auth::logout(); - return redirect()->route("users.login")->with('success#passwordchange', '

Dit password er hermed ændret!

'); + return redirect()->route("users.login")->with('success#passwordchange', '

Dit password er hermed ændret!

'); } } else { // Else if you're not editing the password but anything else (Email, Phone Number). Then update user. + $data = $request->all(); $user->update($data); return redirect()->route("users.account")->with('success#credentialschanged', '

Dine oplysninger er hermed ændret!

'); diff --git a/skolehjem/resources/views/admin/users/edit.blade.php b/skolehjem/resources/views/admin/users/edit.blade.php index 078b106..b3feb3a 100644 --- a/skolehjem/resources/views/admin/users/edit.blade.php +++ b/skolehjem/resources/views/admin/users/edit.blade.php @@ -11,6 +11,7 @@ @section("content")

Rediger Bruger:

+ {!! session()->get('error#passnotsame') !!}
$user]) }}" style="display: inline-table;"> @csrf @method("put") @@ -24,7 +25,7 @@ - + diff --git a/skolehjem/resources/views/app/users/editpass.blade.php b/skolehjem/resources/views/app/users/editpass.blade.php index e5ef10c..43b0654 100644 --- a/skolehjem/resources/views/app/users/editpass.blade.php +++ b/skolehjem/resources/views/app/users/editpass.blade.php @@ -12,13 +12,13 @@ @method("put") Nuværende Password: - + Nyt Password: - + Bekræft Nyt Password: - + {!! session()->get('error#notsamepass') !!} {!! session()->get('error#oldpass') !!}