63 lines
1.8 KiB
PHP
63 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\ClientResource\RelationManagers;
|
|
|
|
use App\Commands\Transmittal\GenerateTransmittalSeries;
|
|
use App\Commands\Transmittal\StoreTransmittalCommand;
|
|
use App\DataObjects\CreateTransmittalDTO;
|
|
use App\Filament\Resources\TransmittalResource;
|
|
use App\Models\Branch;
|
|
use App\Models\Client;
|
|
use App\Models\Transmittal;
|
|
use App\Processes\Transmittal\CreateTransmittalProcess;
|
|
use Filament\Actions\Action;
|
|
use Filament\Actions\CreateAction;
|
|
use Filament\Forms;
|
|
use Filament\Forms\Components\DatePicker;
|
|
use Filament\Forms\Components\Repeater;
|
|
use Filament\Forms\Components\Select;
|
|
use Filament\Forms\Components\Textarea;
|
|
use Filament\Forms\Components\TextInput;
|
|
use Filament\Forms\Form;
|
|
use Filament\Resources\RelationManagers\RelationManager;
|
|
use Filament\Tables;
|
|
use Filament\Tables\Table;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class TransmittalsRelationManager extends RelationManager
|
|
{
|
|
protected static string $relationship = 'transmittals';
|
|
|
|
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
|
{
|
|
return auth()->user()->can('update_transmittal');
|
|
}
|
|
|
|
protected CreateTransmittalProcess $transmittalProcess;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->transmittalProcess = new CreateTransmittalProcess();
|
|
}
|
|
|
|
public function form(Form $form): Form
|
|
{
|
|
return TransmittalResource::form($form)
|
|
->fill(
|
|
['client_id' => $this->getOwnerRecord()->id]
|
|
);
|
|
}
|
|
|
|
public function table(Table $table): Table
|
|
{
|
|
return TransmittalResource::table($table)->headerActions([
|
|
Tables\Actions\Action::make('New Transmittal')->action('openCreateForm')
|
|
]);
|
|
}
|
|
|
|
public function openCreateForm() {
|
|
return redirect()->route('filament.admin.resources.transmittals.create');
|
|
}
|
|
|
|
}
|