From 445c9364bce8c8428509647b261b619f8c69c3e8 Mon Sep 17 00:00:00 2001 From: Boy132 Date: Tue, 11 Nov 2025 18:18:29 +0100 Subject: [PATCH] Make sure case for role permissions is correct (#1892) --- .../Admin/Resources/Roles/RoleResource.php | 2 +- app/Models/User.php | 4 +- ...1_121905_fix_case_for_role_permissions.php | 47 +++++++++++++++++++ 3 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 database/migrations/2025_11_11_121905_fix_case_for_role_permissions.php diff --git a/app/Filament/Admin/Resources/Roles/RoleResource.php b/app/Filament/Admin/Resources/Roles/RoleResource.php index 5f3651e81..e1baa035b 100644 --- a/app/Filament/Admin/Resources/Roles/RoleResource.php +++ b/app/Filament/Admin/Resources/Roles/RoleResource.php @@ -124,7 +124,7 @@ class RoleResource extends Resource $options = []; foreach ($permissions as $permission) { - $options[$permission . ' ' . strtolower($model)] = Str::headline($permission); + $options[$permission . ' ' . $model] = Str::headline($permission); } $permissionSections[] = self::makeSection($model, $options); diff --git a/app/Models/User.php b/app/Models/User.php index 32f71e45b..2cfec8f23 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -342,9 +342,7 @@ class User extends Model implements AuthenticatableContract, AuthorizableContrac return false; } - $check = in_array($permission, $subuser->permissions); - - return $check; + return in_array($permission, $subuser->permissions); } /** diff --git a/database/migrations/2025_11_11_121905_fix_case_for_role_permissions.php b/database/migrations/2025_11_11_121905_fix_case_for_role_permissions.php new file mode 100644 index 000000000..2188cdb0f --- /dev/null +++ b/database/migrations/2025_11_11_121905_fix_case_for_role_permissions.php @@ -0,0 +1,47 @@ + $permissions) { + foreach ($permissions as $permission) { + $allPermissions[] = $permission . ' ' . $model; + } + } + + foreach (Permission::all() as $spatiePermission) { + $name = $spatiePermission->name; + + foreach ($allPermissions as $permission) { + if (Str::lower($name) === Str::lower($permission)) { + $name = $permission; + break; + } + } + + $spatiePermission->update(['name' => $name]); + } + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // Not needed + } +};