Add all files
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Paymenter\Extensions\Others\ComplianceTools\Admin\Resources\DeletionRequestResource\Pages;
|
||||
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
use Paymenter\Extensions\Others\ComplianceTools\Admin\Resources\DeletionRequestResource;
|
||||
|
||||
class ListDeletionRequests extends ListRecords
|
||||
{
|
||||
protected static string $resource = DeletionRequestResource::class;
|
||||
|
||||
protected function getActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('refresh')
|
||||
->label('Refresh')
|
||||
->icon('heroicon-o-arrow-path')
|
||||
->action(fn () => null),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace Paymenter\Extensions\Others\ComplianceTools\Admin\Resources\DeletionRequestResource\Pages;
|
||||
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Pages\ViewRecord;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Paymenter\Extensions\Others\ComplianceTools\Admin\Resources\DeletionRequestResource;
|
||||
use Paymenter\Extensions\Others\ComplianceTools\Models\AccountDeletionRequest;
|
||||
use Paymenter\Extensions\Others\ComplianceTools\Services\AccountDeletionService;
|
||||
|
||||
class ViewDeletionRequest extends ViewRecord
|
||||
{
|
||||
protected static string $resource = DeletionRequestResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Action::make('approve')
|
||||
->label('Approve & anonymise')
|
||||
->icon('heroicon-o-check-circle')
|
||||
->color('success')
|
||||
->visible(fn () => $this->record->status !== AccountDeletionRequest::STATUS_COMPLETED)
|
||||
->form([
|
||||
Textarea::make('notes')->label('Internal notes')->rows(3),
|
||||
])
|
||||
->requiresConfirmation()
|
||||
->action(function (array $data, AccountDeletionService $service) {
|
||||
$service->approve($this->record, Auth::user(), $data['notes'] ?? null);
|
||||
$this->record->refresh();
|
||||
Notification::make()
|
||||
->title('Account anonymised successfully')
|
||||
->success()
|
||||
->send();
|
||||
})
|
||||
->authorize(fn () => Auth::user()?->can('update', $this->record) ?? false),
|
||||
Action::make('deny')
|
||||
->label('Deny request')
|
||||
->icon('heroicon-o-x-circle')
|
||||
->color('danger')
|
||||
->visible(fn () => $this->record->status === AccountDeletionRequest::STATUS_PENDING)
|
||||
->form([
|
||||
Textarea::make('notes')->label('Internal notes')->rows(3)->required(),
|
||||
])
|
||||
->requiresConfirmation()
|
||||
->action(function (array $data, AccountDeletionService $service) {
|
||||
$service->deny($this->record, Auth::user(), $data['notes'] ?? null);
|
||||
$this->record->refresh();
|
||||
Notification::make()
|
||||
->title('Deletion request marked as denied')
|
||||
->success()
|
||||
->send();
|
||||
})
|
||||
->authorize(fn () => Auth::user()?->can('update', $this->record) ?? false),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user