39 lines
931 B
PHP
39 lines
931 B
PHP
<?php
|
|||
|
|
|
||
|
|
namespace App\Filament\Resources\Users\Pages;
|
||
|
|
|
||
|
|
use App\Filament\Resources\Users\UserResource;
|
||
|
|
use App\Services\RoleAssignmentService;
|
||
|
|
use Filament\Resources\Pages\EditRecord;
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
|
||
|
|
class EditUser extends EditRecord
|
||
|
|
{
|
||
|
|
protected static string $resource = UserResource::class;
|
||
|
|
|
||
|
|
public function getTitle(): string
|
||
|
|
{
|
||
|
|
return __('roles.edit_user');
|
||
|
|
}
|
||
|
|
|
||
|
|
protected function mutateFormDataBeforeFill(array $data): array
|
||
|
|
{
|
||
|
|
$data['roles'] = $this->record->roles()->pluck('roles.id')->all();
|
||
|
|
|
||
|
|
return $data;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected function handleRecordUpdate(Model $record, array $data): Model
|
||
|
|
{
|
||
|
|
$roles = $data['roles'] ?? [];
|
||
|
|
unset($data['roles']);
|
||
|
|
|
||
|
|
return app(RoleAssignmentService::class)->update(auth()->user(), $record, $data, $roles);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected function getHeaderActions(): array
|
||
|
|
{
|
||
|
|
return [];
|
||
|
|
}
|
||
|
|
}
|