From 5aba2c27bc35c159201e8d7901483c20011bb62c Mon Sep 17 00:00:00 2001 From: LogischJo <66436499+LogischJo@users.noreply.github.com> Date: Wed, 9 Jun 2021 00:16:31 +0200 Subject: [PATCH] Password Changes from Admin User Edit (#33) * Password Changes from Admin User Edit With this Commit Admins can change the user password from the admin user edit page * Admin Password Change: UI Changes --- app/Http/Controllers/Admin/UserController.php | 23 ++++-- resources/views/admin/users/edit.blade.php | 73 +++++++++++++++---- 2 files changed, 77 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 260a06f9..9e7336ef 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -13,6 +13,7 @@ use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; use Illuminate\Validation\Rule; use Illuminate\Validation\ValidationException; @@ -87,12 +88,12 @@ class UserController extends Controller public function update(Request $request, User $user) { $request->validate([ - "name" => "required|string|min:4|max:30", + "name" => "required|string|min:4|max:30", "pterodactyl_id" => "required|numeric|unique:users,pterodactyl_id,{$user->pterodactyl_id}", - "email" => "required|string|email", - "credits" => "required|numeric|min:0|max:1000000", - "server_limit" => "required|numeric|min:0|max:1000000", - "role" => Rule::in(['admin', 'mod', 'client', 'member']), + "email" => "required|string|email", + "credits" => "required|numeric|min:0|max:1000000", + "server_limit" => "required|numeric|min:0|max:1000000", + "role" => Rule::in(['admin', 'mod', 'client', 'member']), ]); if (is_null(Pterodactyl::getUser($request->input('pterodactyl_id')))) { @@ -101,6 +102,18 @@ class UserController extends Controller ]); } + + if (!is_null($request->input('new_password'))) { + $request->validate([ + 'new_password' => 'required|string|min:8', + 'new_password_confirmation' => 'required|same:new_password' + ]); + + $user->update([ + 'password' => Hash::make($request->input('new_password')), + ]); + } + $user->update($request->all()); return redirect()->route('admin.users.index')->with('success', 'User updated!'); diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index 583d77a3..59988edf 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -12,7 +12,8 @@ @@ -28,7 +29,7 @@
-
+ @csrf @method('PATCH')
@@ -44,7 +45,8 @@
+ class="form-control @error('email') is-invalid @enderror" + required="required"> @error('email')
{{$message}} @@ -53,8 +55,10 @@
- + @error('pterodactyl_id')
{{$message}} @@ -67,8 +71,10 @@
- + @error('credits')
{{$message}} @@ -77,8 +83,10 @@
- @error('server_limit')
@@ -89,15 +97,19 @@
- @@ -111,13 +123,46 @@
+
+
+
+
+
+
+
+
+ + @error('new_password') +
+ {{$message}} +
+ @enderror +
+
+
+
+ + + @error('new_password_confirmation') +
+ {{$message}} +
+ @enderror +
+
-
+ +