Fixed - Password & Confirm Password in create user now need to be the same.

Added new "see password" function on all password sites.
Fixed bugs
This commit is contained in:
Anders
2020-08-03 10:36:57 +02:00
parent 93198e5a54
commit b4263d8891
5 changed files with 69 additions and 52 deletions
@@ -71,15 +71,19 @@ class UserController extends Controller
"phone" => "required|unique:users",
]);
$rolez = $request->input("roles", [ "User" ]);
if ($request->password != $request->password2) {
return redirect()->route('users.create')->with('error#notsamepass', '<p>Der stod ikke det samme i `Password` & `Confirm Password`!</p>');
}
$roles = $request->input("roles", [ "User" ]);
$user = new User($data);
$user->assignRole($rolez);
$user->assignRole($roles);
$user->save();
return Response::detect("users.store");
return redirect()->route('users.index');
}
/**
@@ -123,7 +127,6 @@ class UserController extends Controller
*/
public function update(Request $request, $id)
{
return redirect()->route("users.account");
$user = User::find($id);
if($id === Auth::id() || auth()->user()->hasPermissionTo("user.edit")) {
@@ -134,7 +137,7 @@ class UserController extends Controller
/** @var User $user */
$user->update($data);
} else // Else go back with an error message
return redirect()->route("users.edit", ['user' => $id])->with('error#passnotsame', '<p>Der stod ikke det samme i `Password` & `Confirm Password`!</p>');
return redirect()->route("users.edit", ['user' => $id])->with('error#notsamepass', '<p>Der stod ikke det samme i `Password` & `Confirm Password`!</p>');
}
else { // If you haven't touched the password, then update everything else but password
$data = $request->only(['name_first', 'name_last', 'email', 'phone', 'roles']);
@@ -148,27 +151,6 @@ class UserController extends Controller
foreach ($request->roles as $role) {
$user->assignRole($role);
}
} else { // Else if you're not on the admin site (user site)
if ($request->input('password') != null) { // If you're editing the password
$data = $request->only(['name_first', 'name_last', 'email', 'phone', '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', '<p class="text-center">Der stod ikke det samme i `Nyt Password` & `Bekræft Nyt Password`!</p>');
} elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back with fail message.
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center">Det indtastede password i `Nuværende Password` er ikke dit nuværende password!</p>');
} else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout.
/** @var User $user */
$user->update($data);
Auth::logout();
return redirect()->route("users.login")->with('success#passwordchange', '<p class="text-center text-white">Dit password er hermed ændret!</p>');
}
} else { // Else if you're not editing the password but anything else (Email, Phone Number). Then update user.
$data = $request->only(['email', 'phone']);
$user->update($data);
return redirect()->route("users.account")->with('success#credentialschanged', '<p class="text-center">Dine oplysninger er hermed ændret!</p>');
}
}
}
$users = User::query()->paginate(20);
@@ -274,7 +256,7 @@ class UserController extends Controller
if ($request->input('password') != null) { // If you're editing the password
$data = $request->only(['name_first', 'name_last', 'email', 'phone', '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', '<p class="text-center">Der stod ikke det samme i `Nyt Password` & `Bekræft Nyt Password`!</p>');
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center">Der stod ikke det samme i `Nyt Password` & `Confirm Password`!</p>');
} elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back with fail message.
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center">Det indtastede password i `Nuværende Password` er ikke dit nuværende password!</p>');
} else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout.