diff --git a/src/Database/Seeders/DefaultPermissionSeeder.php b/src/Database/Seeders/DefaultPermissionSeeder.php index 1b133b1..d4cb144 100644 --- a/src/Database/Seeders/DefaultPermissionSeeder.php +++ b/src/Database/Seeders/DefaultPermissionSeeder.php @@ -123,9 +123,14 @@ private static function getPermissionsFromPages(): array /** @return array */ protected function getCustomPermissionNames(): array { - return collect(PermissionConfig::customPermissionsNames()) - ->map(fn (string $custom) => FilamentPermissionGenerateName::getCustomPermissionName($custom)) - ->prepend(PermissionType::customs->value) + $customs = collect(PermissionConfig::customPermissionsNames()) + ->map(fn (string $custom) => FilamentPermissionGenerateName::getCustomPermissionName($custom)); + + if ($customs->isEmpty()) { + return []; + } + + return $customs->prepend(PermissionType::customs->value) ->values() ->sort() ->toArray(); diff --git a/src/Resources/RoleResource/Schema/PermissionSchema.php b/src/Resources/RoleResource/Schema/PermissionSchema.php index 4b9f283..c3222b1 100644 --- a/src/Resources/RoleResource/Schema/PermissionSchema.php +++ b/src/Resources/RoleResource/Schema/PermissionSchema.php @@ -132,43 +132,39 @@ function (Get $get): array { ]), Forms\Components\Tabs\Tab::make(trans('Panels')) ->schema(function () { - $return = []; foreach (PermissionCollection::groupByTypeThenParent(self::$guardName)[PermissionType::panels->value] ?? [] as $parentPermission => $permissionsDatas) { - $return[] = self::abilities($permissionsDatas, $parentPermission); + return [self::abilities($permissionsDatas, $parentPermission)]; } - return $return; + return []; }), Forms\Components\Tabs\Tab::make(trans('Pages')) ->schema(function () { - $return = []; foreach (PermissionCollection::groupByTypeThenParent(self::$guardName)[PermissionType::pages->value] ?? [] as $parentPermission => $permissionsDatas) { - $return[] = self::abilities($permissionsDatas, $parentPermission); + return [self::abilities($permissionsDatas, $parentPermission)]; } - return $return; + return []; }), Forms\Components\Tabs\Tab::make(trans('Widgets')) ->schema(function () { - $return = []; foreach (PermissionCollection::groupByTypeThenParent(self::$guardName)[PermissionType::widgets->value] ?? [] as $parentPermission => $permissionsDatas) { - $return[] = self::abilities($permissionsDatas, $parentPermission); + return [self::abilities($permissionsDatas, $parentPermission)]; } - return $return; + return []; }), Forms\Components\Tabs\Tab::make(trans('Custom permissions')) ->schema(function () { - $return = []; foreach (PermissionCollection::groupByTypeThenParent(self::$guardName)[PermissionType::customs->value] ?? [] as $parentPermission => $permissionsDatas) { - $return[] = self::abilities($permissionsDatas, $parentPermission); + return [self::abilities($permissionsDatas, $parentPermission)]; } - return $return; + return []; }), ]),