From 36c9ef3c338168e50d10fc664369f681562d7e34 Mon Sep 17 00:00:00 2001 From: Nils Fischer Date: Fri, 25 Oct 2024 09:32:16 +0000 Subject: [PATCH] Fix permission update issue regarding spatie permissions upgrade v5 to v6 --- app/Http/Controllers/UserController.php | 9 +++++---- app/Http/Middleware/CheckForFirstUser.php | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 77b7aa1..0bd7a12 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -61,15 +61,16 @@ public function update(Request $request, string $id) return redirect()->route('users.show', $user->id)->withErrors(['message' =>'You must select a role']); } - // if($user->id == Auth::user()->id) { - // return redirect()->route('users.show', $user->id)->withErrors(['message' => 'You cannot change your own roles']); - // } + if($user->id == Auth::user()->id) { + return redirect()->route('users.show', $user->id)->withErrors(['message' => 'You cannot change your own roles']); + } + $roles = (int) $request->roles; // Remove every role $user->roles()->detach(); // Add the new roles - $user->assignRole($request->roles); + $user->assignRole($roles); return redirect()->route('users.show', $user->id)->with('success', 'Roles updated'); diff --git a/app/Http/Middleware/CheckForFirstUser.php b/app/Http/Middleware/CheckForFirstUser.php index 32cb36d..8188ecf 100644 --- a/app/Http/Middleware/CheckForFirstUser.php +++ b/app/Http/Middleware/CheckForFirstUser.php @@ -24,7 +24,7 @@ public function handle(Request $request, Closure $next): Response if(auth()->user() && auth()->user()->hasRole('Super Administrator')) { return $next($request); } elseif(auth()->user() && !auth()->user()->hasRole('Super Administrator')) { - auth()->user()->assignRole(Role::findByName('Super Administrator')->first()->id); + auth()->user()->assignRole((int) Role::findByName('Super Administrator')->first()->id); } }