diff --git a/app/Http/Controllers/Dashboard/AdminController.php b/app/Http/Controllers/Dashboard/AdminController.php index 0ec37f580..483e26521 100644 --- a/app/Http/Controllers/Dashboard/AdminController.php +++ b/app/Http/Controllers/Dashboard/AdminController.php @@ -18,6 +18,7 @@ use App\Models\User\User; use App\Models\User\UserRole; use App\Models\User\UserPermission; use App\Models\User\AvailableUserPermission; +use App\Models\User\AvailableUserRole; use App\Models\Admin\AllowedLogin; use App\Models\Doku\DokuGroupNames; use App\Models\Doku\DokuMember; @@ -220,37 +221,41 @@ class AdminController extends Controller $permissions[$p->permission] = $p->permission; } + $roles = AvailableUserRole::all(); + + $role = $user->getRole(); + //Pass the user information to the page for hidden text entries return view('admin.user.modify')->with('user', $user) - ->with('permissions', $permissions); + ->with('permissions', $permissions) + -with('role', $role) + ->with('roles', $roles); } - public function modifyUser(Request $request) { - $type = $request->type; - if(isset($request->permission)) { - $permission = $request->permission; - } - if(isset($request->user)) { - $user = $request->user; - } + public function modifyRole(Request $request) { + $this->validate($request, [ + 'user' => 'required', + 'role' => 'required|role!=None', + ]); - return redirect('/admin/dashboard/users')->with('error', 'Not Implemented Yet.'); + UserRole::where(['character_id' => $user])->update([ + 'role' => $request->role, + ]); + + return redirect('/admin/dashboard/users')->with('success', "User: " . $user . " has been modified to a new role: " . $request->role . "."); } public function addPermission(Request $request) { //Get the user and permission from the form - $user = $request->user; + $character = $request->user; $permission = $request->permission; - //Get the character id from the username using the user table - $character = User::where(['name' => $user])->get(['character_id']); - //Check to see if the character already has the permission - $check = UserPermission::where(['character_id' => $character[0]->character_id, 'permission' => $permission])->get(['permission']); + $check = UserPermission::where(['character_id' => $character, 'permission' => $permission])->get(['permission']); if(!isset($check[0]->permission)) { $perm = new UserPermission; - $perm->character_id = $character[0]->character_id; + $perm->character_id = $character; $perm->permission = $permission; $perm->save(); diff --git a/resources/views/admin/user/modify.blade.php b/resources/views/admin/user/modify.blade.php index 4d6f7ed7e..1a1afbeb6 100644 --- a/resources/views/admin/user/modify.blade.php +++ b/resources/views/admin/user/modify.blade.php @@ -21,14 +21,13 @@
{{ Form::open(['action' => 'Dashboard\AdminController@addPermission', 'method' => 'POST']) }}
- {{ Form::hidden('user', $user->name) }} + {{ Form::hidden('user', $user->character_id) }} {{ Form::select('permission', $permissions, 'None', ['class' => 'form-control']) }} - {{ Form::hidden('type', 'addPermission') }}
{{ Form::submit('Add Permission', ['class' => 'btn btn-primary']) }} - {!! Form::close() !!}
+ {!! Form::close() !!}
@@ -38,7 +37,19 @@

Modify Role

- +
+

Current Role: {{ $role }}

+
+ {{ Form::open(['action' => 'Dashboard\AdminConotroller@modifyRole', 'method' => 'POST']) }} +
+ {{ Form::hidden('user', $user->character_id) }} + {{ Form::select('role', $roles, 'None', ['class' => 'form-control']) }} + {{ Form::hidden('type', 'modifyRole') }} +
+
+ {{ Form::submit('Modify Role', ['class' => 'btn btn-primary']) }} +
+ {!! Form::close() !!}
diff --git a/routes/web.php b/routes/web.php index 304dd4f19..e5378dcdd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -39,7 +39,6 @@ Route::group(['middleware' => ['auth']], function(){ Route::post('/admin/add/permission', 'Dashboard\AdminController@addPermission'); Route::post('/admin/remove/user', 'Dashboard\AdminController@removeUser'); Route::post('/admin/modify/user/display', 'Dashboard\AdminController@displayModifyUser'); - Route::post('/admin/modify/user', 'Dashboard\AdminController@modifyUser'); Route::post('/admin/add/allowedlogin', 'Dashboard\AdminController@addAllowedLogin'); Route::post('/admin/rmoeve/allowedlogin', 'Dashboard\AdminController@removeAllowedLogin'); Route::get('/admin/dashboard/journal', 'Dashboard\AdminController@showJournalEntries');