44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Pages\AdminVerification\Actions;
|
|
|
|
use App\Enums\DecisionAdmin;
|
|
use App\Filament\Pages\AdminVerification\Actions\Concerns\CanProcessReview;
|
|
use Filament\Actions\Action;
|
|
use Filament\Forms\Components\Textarea;
|
|
|
|
class RejectAction extends Action
|
|
{
|
|
use CanProcessReview;
|
|
|
|
public static function getDefaultName(): ?string
|
|
{
|
|
return 'reject';
|
|
}
|
|
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->label('Tolak')
|
|
->color('danger')
|
|
->icon('heroicon-o-x-mark')
|
|
->size('sm')
|
|
->requiresConfirmation()
|
|
->modalHeading('Tolak Verifikasi? 🛑🤔')
|
|
->modalDescription('Yakin mau ditolak secara permanen? Pastikan alasannya sudah sreg di hati ya! 😔📝')
|
|
->modalSubmitActionLabel('Ya, Tolak')
|
|
->schema([
|
|
Textarea::make('note')
|
|
->label('Alasan Penolakan')
|
|
->required()
|
|
->placeholder('Jelaskan alasan pengajuan ditolak...')
|
|
->autocomplete(false)
|
|
->autofocus(),
|
|
])
|
|
->action(function (array $arguments, array $data): void {
|
|
$this->processReview($arguments['id'], DecisionAdmin::REJECTED, $data['note']);
|
|
});
|
|
}
|
|
}
|