Files
minicrm/app/Filament/Resources/Roles/Pages/EditRole.php
phuongtc 3a8db5cae6
Some checks failed
Tests / PHP 8.3 (push) Has been cancelled
Tests / PHP 8.4 (push) Has been cancelled
Tests / PHP 8.5 (push) Has been cancelled
feat: granular permissions, export backup, user/role management
- PermissionSeeder: 29 permissions with role mapping (admin/manager/staff)
- Policies updated to use hasPermissionTo() instead of hasRole()
- ExportBackup command: JSON per-table backup with chunk processing
- UserResource: CRUD users with role assignment (admin only)
- RoleResource: CRUD roles with permission assignment (admin only)
- UserPolicy + RolePolicy: admin-only access control
- ImportCskh: detailed skip logging with color in dry-run mode
- Widgets: permission-based visibility checks
- Tests: 8/8 pass (21 assertions)
2026-05-02 04:47:10 +00:00

36 lines
809 B
PHP

<?php
namespace App\Filament\Resources\Roles\Pages;
use App\Filament\Resources\Roles\RoleResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditRole extends EditRecord
{
protected static string $resource = RoleResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
protected function afterSave(): void
{
$record = $this->record;
$permissionNames = $this->data['permissions'] ?? [];
$record->syncPermissions($permissionNames);
}
protected function mutateFormDataBeforeFill(array $data): array
{
$role = $this->record;
$data['permissions'] = $role->permissions->pluck('name')->toArray();
return $data;
}
}