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
This commit is contained in:
LogischJo 2021-06-09 00:16:31 +02:00 committed by GitHub
parent b0ab16ec3e
commit 5aba2c27bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 77 additions and 19 deletions

View file

@ -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!');

View file

@ -12,7 +12,8 @@
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="{{route('home')}}">Dashboard</a></li>
<li class="breadcrumb-item"><a href="{{route('admin.users.index')}}">Users</a></li>
<li class="breadcrumb-item"><a class="text-muted" href="{{route('admin.users.edit' , $user->id)}}">Edit</a></li>
<li class="breadcrumb-item"><a class="text-muted"
href="{{route('admin.users.edit' , $user->id)}}">Edit</a></li>
</ol>
</div>
</div>
@ -28,7 +29,7 @@
<div class="col-lg-6">
<div class="card">
<div class="card-body">
<form action="{{route('admin.users.update' , $user->id)}}" method="POST">
<form action="{{route('admin.users.update', $user->id)}}" method="POST">
@csrf
@method('PATCH')
<div class="form-group">
@ -44,7 +45,8 @@
<div class="form-group">
<label for="email">Email</label>
<input value="{{$user->email}}" id="email" name="email" type="text"
class="form-control @error('email') is-invalid @enderror" required="required">
class="form-control @error('email') is-invalid @enderror"
required="required">
@error('email')
<div class="invalid-feedback">
{{$message}}
@ -53,8 +55,10 @@
</div>
<div class="form-group">
<label for="pterodactyl_id">Pterodactyl ID</label>
<input value="{{$user->pterodactyl_id}}" id="pterodactyl_id" name="pterodactyl_id" type="number"
class="form-control @error('pterodactyl_id') is-invalid @enderror" required="required">
<input value="{{$user->pterodactyl_id}}" id="pterodactyl_id" name="pterodactyl_id"
type="number"
class="form-control @error('pterodactyl_id') is-invalid @enderror"
required="required">
@error('pterodactyl_id')
<div class="invalid-feedback">
{{$message}}
@ -67,8 +71,10 @@
</div>
<div class="form-group">
<label for="credits">Credits</label>
<input value="{{$user->credits}}" id="credits" name="credits" step="any" min="0" max="1000000"
type="number" class="form-control @error('credits') is-invalid @enderror" required="required">
<input value="{{$user->credits}}" id="credits" name="credits" step="any" min="0"
max="1000000"
type="number" class="form-control @error('credits') is-invalid @enderror"
required="required">
@error('credits')
<div class="invalid-feedback">
{{$message}}
@ -77,8 +83,10 @@
</div>
<div class="form-group">
<label for="server_limit">Server Limit</label>
<input value="{{$user->server_limit}}" id="server_limit" name="server_limit" min="0" max="1000000"
type="number" class="form-control @error('server_limit') is-invalid @enderror"
<input value="{{$user->server_limit}}" id="server_limit" name="server_limit" min="0"
max="1000000"
type="number"
class="form-control @error('server_limit') is-invalid @enderror"
required="required">
@error('server_limit')
<div class="invalid-feedback">
@ -89,15 +97,19 @@
<div class="form-group">
<label for="role">Role</label>
<div>
<select id="role" name="role" class="custom-select @error('role') is-invalid @enderror"
<select id="role" name="role"
class="custom-select @error('role') is-invalid @enderror"
required="required">
<option @if($user->role == 'admin') selected @endif class="text-danger" value="admin">
<option @if($user->role == 'admin') selected @endif class="text-danger"
value="admin">
Administrator
</option>
<option @if($user->role == 'client') selected @endif class="text-success" value="client">
<option @if($user->role == 'client') selected @endif class="text-success"
value="client">
Client
</option>
<option @if($user->role == 'member') selected @endif class="text-secondary" value="member">
<option @if($user->role == 'member') selected @endif class="text-secondary"
value="member">
Member
</option>
</select>
@ -111,13 +123,46 @@
<div class="form-group text-right">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="card">
<div class="card-body">
<div class="col">
<div class="form-group"><label>New Password</label> <input
class="form-control @error('new_password') is-invalid @enderror"
name="new_password" type="password" placeholder="••••••">
@error('new_password')
<div class="invalid-feedback">
{{$message}}
</div>
@enderror
</div>
</div>
<div class="col">
<div class="form-group"><label>Confirm Password</label>
<input
class="form-control @error('new_password_confirmation') is-invalid @enderror"
name="new_password_confirmation" type="password"
placeholder="••••••">
@error('new_password_confirmation')
<div class="invalid-feedback">
{{$message}}
</div>
@enderror
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END CONTENT -->