feat: Introduce RoleEnum and update user role selection to exclude developer and company roles.
This commit is contained in:
parent
1fb21e9a5b
commit
2603d90271
25
app/Enums/RoleEnum.php
Normal file
25
app/Enums/RoleEnum.php
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@
|
|||||||
namespace App\Filament\Resources\Master\Users;
|
namespace App\Filament\Resources\Master\Users;
|
||||||
|
|
||||||
use App\Enums\IsActive;
|
use App\Enums\IsActive;
|
||||||
|
use App\Enums\RoleEnum;
|
||||||
use App\Filament\Actions\DefaultBulkActions;
|
use App\Filament\Actions\DefaultBulkActions;
|
||||||
use App\Filament\Columns\TimestampColumns;
|
use App\Filament\Columns\TimestampColumns;
|
||||||
use App\Filament\Resources\Master\Users\Pages\ManageUsers;
|
use App\Filament\Resources\Master\Users\Pages\ManageUsers;
|
||||||
@ -78,7 +79,7 @@ public static function form(Schema $schema): Schema
|
|||||||
|
|
||||||
Select::make('roles')
|
Select::make('roles')
|
||||||
->label('Peran')
|
->label('Peran')
|
||||||
->relationship('roles', 'name', fn ($query) => $query->where('name', '!=', 'Developer'))
|
->relationship('roles', 'name', fn ($query) => $query->whereNotIn('name', [RoleEnum::DEVELOPER, RoleEnum::PERUSAHAAN]))
|
||||||
->multiple()
|
->multiple()
|
||||||
->preload()
|
->preload()
|
||||||
->searchable()
|
->searchable()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user