From f56312823710b88dd34aa1646873c9e1155cd678 Mon Sep 17 00:00:00 2001 From: Boy132 Date: Mon, 17 Mar 2025 17:23:44 +0100 Subject: [PATCH] Make sure to not sync root admin role (#1113) --- app/Filament/Admin/Resources/UserResource.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Filament/Admin/Resources/UserResource.php b/app/Filament/Admin/Resources/UserResource.php index 1664a5470..3291481a6 100644 --- a/app/Filament/Admin/Resources/UserResource.php +++ b/app/Filament/Admin/Resources/UserResource.php @@ -122,6 +122,11 @@ class UserResource extends Resource CheckboxList::make('roles') ->disableOptionWhen(fn (string $value): bool => $value == Role::getRootAdmin()->id) ->relationship('roles', 'name') + ->saveRelationshipsUsing(function (User $user, array $state) { + $roles = collect($state)->map(fn ($role) => Role::findById($role))->filter(fn ($role) => $role->id !== Role::getRootAdmin()->id); + + $user->syncRoles($roles); + }) ->dehydrated() ->label(trans('admin/user.admin_roles')) ->columnSpanFull()