feat: Introduce RoleEnum and update user role selection to exclude developer and company roles.

This commit is contained in:
Yoga Pangestu 2025-12-16 13:34:16 +07:00
parent 1fb21e9a5b
commit 2603d90271
2 changed files with 27 additions and 1 deletions

25
app/Enums/RoleEnum.php Normal file
View File

@ -0,0 +1,25 @@
<?php
namespace App\Enums;
use App\Traits\Enum\WithComment;
use App\Traits\Enum\WithValue;
enum RoleEnum: string
{
use WithComment, WithValue;
case DEVELOPER = 'Developer';
case ADMINISTRATOR = 'Administrator';
case ADMIN_MONITORING = 'Admin Monitoring';
case ADMIN_KONTEN = 'Admin Konten';
case ADMIN_KEUANGAN = 'Admin Keuangan';
case PERUSAHAAN = 'Perusahaan';
public static function options(): array
{
return collect(self::cases())
->mapWithKeys(fn ($case) => [$case->value => $case->value])
->toArray();
}
}

View File

@ -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()