From 2603d9027139eceff926ff14e09df6efdd9e8507 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 16 Dec 2025 13:34:16 +0700 Subject: [PATCH] feat: Introduce `RoleEnum` and update user role selection to exclude developer and company roles. --- app/Enums/RoleEnum.php | 25 +++++++++++++++++++ .../Resources/Master/Users/UserResource.php | 3 ++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 app/Enums/RoleEnum.php diff --git a/app/Enums/RoleEnum.php b/app/Enums/RoleEnum.php new file mode 100644 index 0000000..3221d76 --- /dev/null +++ b/app/Enums/RoleEnum.php @@ -0,0 +1,25 @@ +mapWithKeys(fn ($case) => [$case->value => $case->value]) + ->toArray(); + } +} diff --git a/app/Filament/Resources/Master/Users/UserResource.php b/app/Filament/Resources/Master/Users/UserResource.php index 64e22fa..c693af7 100644 --- a/app/Filament/Resources/Master/Users/UserResource.php +++ b/app/Filament/Resources/Master/Users/UserResource.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\Master\Users; use App\Enums\IsActive; +use App\Enums\RoleEnum; use App\Filament\Actions\DefaultBulkActions; use App\Filament\Columns\TimestampColumns; use App\Filament\Resources\Master\Users\Pages\ManageUsers; @@ -78,7 +79,7 @@ public static function form(Schema $schema): Schema Select::make('roles') ->label('Peran') - ->relationship('roles', 'name', fn ($query) => $query->where('name', '!=', 'Developer')) + ->relationship('roles', 'name', fn ($query) => $query->whereNotIn('name', [RoleEnum::DEVELOPER, RoleEnum::PERUSAHAAN])) ->multiple() ->preload() ->searchable()