54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\Coupons\Pages;
|
|
|
|
use App\Filament\Resources\Coupons\CouponResource;
|
|
use App\Filament\Resources\Pages\AuditedEditRecord;
|
|
use App\Jobs\SyncCouponToPaddle;
|
|
use App\Services\Audit\SuperAdminAuditLogger;
|
|
use Filament\Actions\DeleteAction;
|
|
use Filament\Actions\ForceDeleteAction;
|
|
use Filament\Actions\RestoreAction;
|
|
use Filament\Actions\ViewAction;
|
|
|
|
class EditCoupon extends AuditedEditRecord
|
|
{
|
|
protected static string $resource = CouponResource::class;
|
|
|
|
protected function getHeaderActions(): array
|
|
{
|
|
return [
|
|
ViewAction::make(),
|
|
DeleteAction::make()
|
|
->after(function ($record): void {
|
|
app(SuperAdminAuditLogger::class)->recordModelMutation(
|
|
'deleted',
|
|
$record,
|
|
source: static::class
|
|
);
|
|
|
|
SyncCouponToPaddle::dispatch($record, true);
|
|
}),
|
|
ForceDeleteAction::make()
|
|
->after(fn ($record) => app(SuperAdminAuditLogger::class)->recordModelMutation(
|
|
'force_deleted',
|
|
$record,
|
|
source: static::class
|
|
)),
|
|
RestoreAction::make()
|
|
->after(fn ($record) => app(SuperAdminAuditLogger::class)->recordModelMutation(
|
|
'restored',
|
|
$record,
|
|
source: static::class
|
|
)),
|
|
];
|
|
}
|
|
|
|
protected function afterSave(): void
|
|
{
|
|
parent::afterSave();
|
|
|
|
SyncCouponToPaddle::dispatch($this->record);
|
|
}
|
|
}
|