Untitled

 avatar
unknown
plain_text
2 years ago
1.7 kB
13
Indexable
<?php

namespace App\Filament\Resources\ProcessResource\Pages;

use App\Enums\ProcessStatus;
use App\Filament\Resources\ProcessResource;
use Filament\Pages\Actions\Action;
use Filament\Resources\Pages\ViewRecord;

class ViewProcess extends ViewRecord
{
    protected static string $resource = ProcessResource::class;


    /**
     * @throws \Exception
     */
    protected function getActions(): array
    {
        $resource = static::getResource();

        return array_merge(
            [Action::make('aprove')
                ->label('Aprovar')
                ->color('success')
                ->visible(auth()->user()->can('approve_process') && $this->record->status === ProcessStatus::PENDING)
                ->action(fn () => $this->record->aprove())
                ->requiresConfirmation()
                ->modalHeading('Aprovar processo')
                ->modalSubheading('Tem a certeza que deseja aprovar este processo?')
                ->modalButton('Confirmar'),
                Action::make('delete')
                    ->action(fn () => $this->record->delete())
                    ->requiresConfirmation()
                    ->modalHeading('Delete posts')
                    ->modalSubheading('Are you sure you\'d like to delete these posts? This cannot be undone.')
                    ->modalButton('Yes, delete them'),
            Action::make('cancel')
                ->label(__('filament::resources/pages/edit-record.form.actions.cancel.label'))
                ->url($this->previousUrl ?? $resource::getUrl())
                ->color('secondary'),
                ],
            (($resource::hasPage('edit') && $resource::canEdit($this->getRecord())) ? [$this->getEditAction()] : []),
        );
    }
}
Editor is loading...