56 lines
2.1 KiB
PHP
56 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace App\Filament\Resources\Contracts\Schemas;
|
|
|
|
use App\Enums\ContractStatus;
|
|
use App\Enums\ContractType;
|
|
use Filament\Forms\Components\DatePicker;
|
|
use Filament\Forms\Components\Select;
|
|
use Filament\Forms\Components\TextInput;
|
|
use Filament\Schemas\Components\Section;
|
|
use Filament\Schemas\Schema;
|
|
|
|
class ContractForm
|
|
{
|
|
public static function configure(Schema $schema): Schema
|
|
{
|
|
return $schema
|
|
->components([
|
|
Section::make(__('app.contract_info'))
|
|
->schema([
|
|
Select::make('product_id')
|
|
->label(__('app.product'))
|
|
->relationship('product', 'name')
|
|
->searchable()
|
|
->required(),
|
|
Select::make('customer_id')
|
|
->label(__('app.widget_customer'))
|
|
->relationship('customer', 'name')
|
|
->searchable()
|
|
->required(),
|
|
Select::make('type')
|
|
->label(__('app.contract'))
|
|
->options(ContractType::options())
|
|
->required()
|
|
->native(false),
|
|
Select::make('status')
|
|
->label(__('app.status'))
|
|
->options(ContractStatus::ACTIVE->options())
|
|
->default('active')
|
|
->required()
|
|
->native(false),
|
|
DatePicker::make('start_date')
|
|
->label(__('app.start_date')),
|
|
DatePicker::make('end_date')
|
|
->label(__('app.end_date')),
|
|
DatePicker::make('printed_at')
|
|
->label(__('app.printed_at')),
|
|
TextInput::make('signed_status')
|
|
->label(__('app.signed_status'))
|
|
->maxLength(255),
|
|
])
|
|
->columns(2),
|
|
]);
|
|
}
|
|
}
|