diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php index 079bc58..58f3e52 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/NovaVisaMasterPaymentOrder.php @@ -120,138 +120,136 @@ class NovaVisaMasterPaymentOrder extends Resource public function fields(NovaRequest $request): array { return [ - Tabs::make('Wizard', [ - new Tab(__('Status'), [ - ID::make() - ->hideFromDetail(), + new Panel(__('Status'), [ + ID::make() + ->hideFromDetail(), - Hidden::make('user_id') - ->default(auth()->id()) - ->hideWhenUpdating(), + Hidden::make('user_id') + ->default(auth()->id()) + ->hideWhenUpdating(), - Text::make(__('ID'), 'unique_id') - ->exceptOnForms(), + Text::make(__('ID'), 'unique_id') + ->exceptOnForms(), - Select::make(__('Status'), 'status') + Select::make(__('Status'), 'status') + ->displayUsingLabels() + ->searchable() + ->options(OrderRepo::statusValues()) + ->default(OrderRepo::defaultStatus()) + ->fullWidth() + ->hideFromDetail() + ->rules('required') + ->canSeeWhen('systemUser', $this), + + Badge::make(__('Status'), 'status') + ->map(OrderRepo::statusClasses()) + ->addTypes([ + 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', + ]) + ->labels(OrderRepo::statusValues()) + ->withIcons() + ->icons(OrderRepo::statusIcons()), + + Text::make(__('Note'), 'notes') + ->fullWidth() + ->canSeeWhen('systemUser', $this), + ]), + + new Panel(__('Application type'), [ + Select::make(__('Application type'), 'type') + ->fullWidth() + ->searchable() + ->rules('required') + ->displayUsingLabels() + ->options(VisaMasterPaymentOrder::applicationTypes()), + ]), + + new Panel(__('Location'), [ + Select::make(__('Region'), 'region') + ->fullWidth() + ->displayUsingLabels() + ->searchable() + ->options(RegionRepo::values()) + ->default(RegionRepo::default()) + ->rules('required') + ->sortable(), + + Select::make(__('Branch'), 'branch_id') + ->fullWidth() + ->displayUsingLabels() + ->searchable() + ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) + ->rules('required') + ->sortable(), + ]), + + new Panel(__('Personal data'), [ + Text::make(__('Passport name'), 'passport_name') + ->fullWidth() + ->rules('required', 'string', 'max:255'), + + Text::make(__('Passport surname'), 'passport_surname') + ->fullWidth() + ->rules('required', 'string', 'max:255'), + + NovaInputmask::make(__('Phone'), 'phone') + ->fullWidth() + ->phonenumber('TM') + ->rules('required', 'max:255') + ->hideFromIndex(), + + Text::make(__('Email'), 'email') + ->fullWidth() + ->rules('nullable', 'max:255', 'email') + ->hideFromIndex(), + + Text::make(__('Current Residence'), 'address') + ->fullWidth() + ->rules('required', 'string', 'max:255') + ->hideFromIndex(), + ]), + + new Panel(__('Payment'), [ + SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ + Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() - ->options(OrderRepo::statusValues()) - ->default(OrderRepo::defaultStatus()) - ->fullWidth() - ->hideFromDetail() - ->rules('required') - ->canSeeWhen('systemUser', $this), - - Badge::make(__('Status'), 'status') - ->map(OrderRepo::statusClasses()) - ->addTypes([ - 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', - ]) - ->labels(OrderRepo::statusValues()) - ->withIcons() - ->icons(OrderRepo::statusIcons()), - - Text::make(__('Note'), 'notes') - ->fullWidth() - ->canSeeWhen('systemUser', $this), - ]), - - new Tab(__('Application type'), [ - Select::make(__('Application type'), 'type') - ->fullWidth() - ->searchable() - ->rules('required') - ->displayUsingLabels() - ->options(VisaMasterPaymentOrder::applicationTypes()), - ]), - - new Tab(__('Location'), [ - Select::make(__('Region'), 'region') - ->fullWidth() - ->displayUsingLabels() - ->searchable() - ->options(RegionRepo::values()) - ->default(RegionRepo::default()) + ->options(PassportRepo::values()) ->rules('required') ->sortable(), - Select::make(__('Branch'), 'branch_id') - ->fullWidth() + NovaInputmask::make(__('Passport number'), 'passport_number') + ->mask('999999') + ->rules('required', 'max:255'), + + Text::make( + name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), + attribute: 'full_name' + ) + ->rules('required', 'max:255'), + ])->minRows(1)->rules('required'), + + SimpleRepeatable::make(__('Payee information'), 'payment_reciever', [ + Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() - ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) + ->options(PassportRepo::values()) ->rules('required') ->sortable(), - ]), - new Tab(__('Personal data'), [ - Text::make(__('Passport name'), 'passport_name') - ->fullWidth() - ->rules('required', 'string', 'max:255'), + NovaInputmask::make(__('Passport number'), 'passport_number') + ->mask('999999') + ->rules('required', 'max:255'), - Text::make(__('Passport surname'), 'passport_surname') - ->fullWidth() - ->rules('required', 'string', 'max:255'), + Text::make( + name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), + attribute: 'full_name' + )->rules('required', 'max:255'), + ])->maxRows(1)->minRows(1)->rules('required'), + ]), - NovaInputmask::make(__('Phone'), 'phone') - ->fullWidth() - ->phonenumber('TM') - ->rules('required', 'max:255') - ->hideFromIndex(), - - Text::make(__('Email'), 'email') - ->fullWidth() - ->rules('nullable', 'max:255', 'email') - ->hideFromIndex(), - - Text::make(__('Current Residence'), 'address') - ->fullWidth() - ->rules('required', 'string', 'max:255') - ->hideFromIndex(), - ]), - - new Tab(__('Payment'), [ - SimpleRepeatable::make(__('Payment sender data'), 'sender_datas', [ - Select::make(__('Passport serie'), 'passport_serie') - ->displayUsingLabels() - ->searchable() - ->options(PassportRepo::values()) - ->rules('required') - ->sortable(), - - NovaInputmask::make(__('Passport number'), 'passport_number') - ->mask('999999') - ->rules('required', 'max:255'), - - Text::make( - name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), - attribute: 'full_name' - ) - ->rules('required', 'max:255'), - ])->minRows(1)->rules('required'), - - SimpleRepeatable::make(__('Payee information'), 'payment_reciever', [ - Select::make(__('Passport serie'), 'passport_serie') - ->displayUsingLabels() - ->searchable() - ->options(PassportRepo::values()) - ->rules('required') - ->sortable(), - - NovaInputmask::make(__('Passport number'), 'passport_number') - ->mask('999999') - ->rules('required', 'max:255'), - - Text::make( - name: sprintf('%s %s %s', __('Name'), __('Surname'), __('Patronic name')), - attribute: 'full_name' - )->rules('required', 'max:255'), - ])->maxRows(1)->minRows(1)->rules('required'), - ]), - - new Tab(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles()), - new Tab(__('Sender files'), VisaMasterPaymentOrderFileFields::senderFiles()), - ], $request)->asWizard(), + new Panel(__('Reciver files'), VisaMasterPaymentOrderFileFields::reciverFiles()), + new Panel(__('Sender files'), VisaMasterPaymentOrderFileFields::senderFiles()), ]; } }