Feat: Bringin Privacy to Filament v4, the managers and resources were built with filament v3
This commit is contained in:
@@ -33,7 +33,7 @@ class CustomerErasureActionsExtension extends BaseExtension
|
||||
->color('danger')
|
||||
->requiresConfirmation()
|
||||
->modalDescription('Opens a cancellable grace-period erasure request for this Customer account. No linked User\'s login is affected.')
|
||||
->form([
|
||||
->schema([
|
||||
Checkbox::make('immediate')
|
||||
->label('Erase immediately (skip the 30-day grace period)')
|
||||
->helperText('Staff-only, for a formal legal request or regulator inquiry that genuinely requires urgency — not a routine deletion. Runs synchronously, cannot be cancelled once submitted.')
|
||||
|
||||
@@ -2,13 +2,15 @@
|
||||
|
||||
namespace Modules\Core\Privacy\Filament\Resources;
|
||||
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Actions\ViewAction;
|
||||
use Filament\Actions\Action;
|
||||
use Modules\Core\Privacy\Filament\Resources\DataErasureRequestResource\Pages\ListDataErasureRequests;
|
||||
use Modules\Core\Privacy\Filament\Resources\DataErasureRequestResource\Pages\ViewDataErasureRequest;
|
||||
use Filament\Forms\Components\KeyValue;
|
||||
use Filament\Forms\Components\Placeholder;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables\Actions\Action;
|
||||
use Filament\Tables\Actions\ViewAction;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
@@ -30,17 +32,17 @@ class DataErasureRequestResource extends Resource
|
||||
{
|
||||
protected static ?string $model = DataErasureRequest::class;
|
||||
|
||||
protected static ?string $navigationIcon = 'heroicon-o-shield-exclamation';
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-shield-exclamation';
|
||||
|
||||
protected static ?string $navigationGroup = 'Privacy';
|
||||
protected static string | \UnitEnum | null $navigationGroup = 'Privacy';
|
||||
|
||||
protected static ?string $modelLabel = 'Erasure Request';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Erasure Requests';
|
||||
|
||||
public static function form(Form $form): Form
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return $form->schema([
|
||||
return $schema->components([
|
||||
Placeholder::make('subject')
|
||||
->label('Subject')
|
||||
->content(fn (DataErasureRequest $record) => sprintf(
|
||||
@@ -139,7 +141,7 @@ class DataErasureRequestResource extends Resource
|
||||
];
|
||||
}),
|
||||
])
|
||||
->actions([
|
||||
->recordActions([
|
||||
ViewAction::make(),
|
||||
Action::make('cancel')
|
||||
->label('Cancel')
|
||||
@@ -154,8 +156,8 @@ class DataErasureRequestResource extends Resource
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => Pages\ListDataErasureRequests::route('/'),
|
||||
'view' => Pages\ViewDataErasureRequest::route('/{record}'),
|
||||
'index' => ListDataErasureRequests::route('/'),
|
||||
'view' => ViewDataErasureRequest::route('/{record}'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
|
||||
namespace Modules\Core\Privacy\Filament\Resources;
|
||||
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Actions\ViewAction;
|
||||
use Filament\Actions\Action;
|
||||
use Modules\Core\Privacy\Filament\Resources\DataExportRequestResource\Pages\ListDataExportRequests;
|
||||
use Modules\Core\Privacy\Filament\Resources\DataExportRequestResource\Pages\ViewDataExportRequest;
|
||||
use Filament\Forms\Components\Placeholder;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables\Actions\Action;
|
||||
use Filament\Tables\Actions\ViewAction;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
@@ -25,17 +27,17 @@ class DataExportRequestResource extends Resource
|
||||
{
|
||||
protected static ?string $model = DataExportRequest::class;
|
||||
|
||||
protected static ?string $navigationIcon = 'heroicon-o-arrow-down-tray';
|
||||
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-arrow-down-tray';
|
||||
|
||||
protected static ?string $navigationGroup = 'Privacy';
|
||||
protected static string | \UnitEnum | null $navigationGroup = 'Privacy';
|
||||
|
||||
protected static ?string $modelLabel = 'Export Request';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Export Requests';
|
||||
|
||||
public static function form(Form $form): Form
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return $form->schema([
|
||||
return $schema->components([
|
||||
Placeholder::make('subject')
|
||||
->label('Subject')
|
||||
->content(fn (DataExportRequest $record) => sprintf(
|
||||
@@ -100,7 +102,7 @@ class DataExportRequestResource extends Resource
|
||||
ExportRequestStatus::Failed->value => 'Failed',
|
||||
]),
|
||||
])
|
||||
->actions([
|
||||
->recordActions([
|
||||
ViewAction::make(),
|
||||
Action::make('download')
|
||||
->label('Download')
|
||||
@@ -113,8 +115,8 @@ class DataExportRequestResource extends Resource
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => Pages\ListDataExportRequests::route('/'),
|
||||
'view' => Pages\ViewDataExportRequest::route('/{record}'),
|
||||
'index' => ListDataExportRequests::route('/'),
|
||||
'view' => ViewDataExportRequest::route('/{record}'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user