diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 52ca8c10e..c62908baa 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -23,16 +23,15 @@ class AdminController extends Controller $role = $request->role; //Get the character id from the username using the user table $character = DB::table('users')->where('name', $user)->first(); - $check = DB::table('user_roles')->where(['character_id' => $character->character_id, 'role' => $role])->get(); - if($check === null) { - DB::table('user_roles')->insert([ - 'character_id' => $characer->character->id, - 'role'=> $role, - ]); - return view('admin.dashboard')->with('success', 'User Updated.'); - } - - return view('admin.dashboard')->with('error', 'User already has the role.'); + //Delete the current roles from the database + DB::table('user_roles')->where(['character_id' => $character->character_id])->delete(); + //Insert the new role into the database + DB::table('user_roles')->insert([ + 'character_id' => $characer->character->id, + 'role'=> $role, + ]); + //Return the view and the message of user updated + return view('admin.dashboard')->with('success', 'User Updated.'); } public function removeRole(Request $request) { diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index d60b87d80..3085507c9 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -19,6 +19,7 @@ class AuthServiceProvider extends ServiceProvider /** * Register any authentication / authorization services. + * These gates will always choose the highest roles * * @return void */ @@ -45,27 +46,5 @@ class AuthServiceProvider extends ServiceProvider $gate->define('isNone', function($user) { return $user->hasRole('None'); }); - - /* - $gate->define('isSuperAdmin', function($user) { - return $user->role == 'SuperAdmin'; - }); - - $gate->define('isAdmin', function($user) { - return $user->role == 'Admin'; - }); - - $gate->define('isUser', function($user) { - return $user->role == 'User'; - }); - - $gate->define('isGuest', function($user) { - return $user->role == 'Guest'; - }); - - $gate->define('isNone', function($user) { - return $user->role == 'None'; - }); - */ } }