passport fields to mobile loan orders

This commit is contained in:
2024-10-02 13:21:40 +05:00
parent 5844f1b04b
commit b408834f4b
2 changed files with 84 additions and 25 deletions

View File

@@ -150,7 +150,7 @@ class LoanOrderMobile extends Resource
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
return [ return [
ID::make()->sortable(), ID::make(),
Hidden::make('user_id') Hidden::make('user_id')
->default(auth()->id()) ->default(auth()->id())
@@ -195,16 +195,14 @@ class LoanOrderMobile extends Resource
->options(RegionRepo::values()) ->options(RegionRepo::values())
->default(RegionRepo::default()) ->default(RegionRepo::default())
->size('w-1/2') ->size('w-1/2')
->rules('required') ->rules('required'),
->sortable(),
Select::make(__('Branch'), 'branch_id') Select::make(__('Branch'), 'branch_id')
->displayUsingLabels() ->displayUsingLabels()
->searchable() ->searchable()
->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class))
->size('w-1/2') ->size('w-1/2')
->rules('required') ->rules('required'),
->sortable(),
]), ]),
new Panel(__('Personal data'), [ new Panel(__('Personal data'), [
@@ -226,8 +224,7 @@ class LoanOrderMobile extends Resource
->options(EducationRepo::values()) ->options(EducationRepo::values())
->default(EducationRepo::default()) ->default(EducationRepo::default())
->size('w-1/3') ->size('w-1/3')
->rules('required') ->rules('required'),
->sortable(),
Select::make(__('Marriage status'), 'marriage_status') Select::make(__('Marriage status'), 'marriage_status')
->displayUsingLabels() ->displayUsingLabels()
@@ -235,8 +232,7 @@ class LoanOrderMobile extends Resource
->options(MarriageRepo::values()) ->options(MarriageRepo::values())
->default(MarriageRepo::default()) ->default(MarriageRepo::default())
->size('w-1/3') ->size('w-1/3')
->rules('required') ->rules('required'),
->sortable(),
Date::make(__('Date of birth'), 'born_at') Date::make(__('Date of birth'), 'born_at')
->size('w-1/3') ->size('w-1/3')
@@ -254,7 +250,8 @@ class LoanOrderMobile extends Resource
->searchable() ->searchable()
->displayUsingLabels() ->displayUsingLabels()
->options(LoanOrderRepo::satisfiableValues()) ->options(LoanOrderRepo::satisfiableValues())
->size('w-full'), ->size('w-full')
->canSeeWhen('systemUser', $this),
]), ]),
new Panel(__('Card'), [ new Panel(__('Card'), [
@@ -287,8 +284,7 @@ class LoanOrderMobile extends Resource
->searchable() ->searchable()
->options(PassportRepo::values()) ->options(PassportRepo::values())
->size('w-1/3') ->size('w-1/3')
->rules('required') ->rules('required'),
->sortable(),
Number::make(__('Passport id'), 'passport_id') Number::make(__('Passport id'), 'passport_id')
->size('w-1/3') ->size('w-1/3')
@@ -347,8 +343,7 @@ class LoanOrderMobile extends Resource
->options(RegionRepo::values()) ->options(RegionRepo::values())
->default(RegionRepo::default()) ->default(RegionRepo::default())
->size('w-1/2') ->size('w-1/2')
->rules('required') ->rules('required'),
->sortable(),
Select::make(__('Work province'), 'work_province_id') Select::make(__('Work province'), 'work_province_id')
->displayUsingLabels() ->displayUsingLabels()
@@ -416,29 +411,40 @@ class LoanOrderMobile extends Resource
->size('w-1/3') ->size('w-1/3')
->rules('nullable', 'string', 'max:255'), ->rules('nullable', 'string', 'max:255'),
Number::make(__('Card number'), 'guarantor_card_number') Select::make(__('Passport serie'), 'guarantor_passport_serie')
->displayUsingLabels()
->searchable()
->options(PassportRepo::values())
->size('w-1/2') ->size('w-1/2')
->rules('required'),
Number::make(__('Passport id'), 'guarantor_passport_id')
->size('w-1/2')
->rules('required', 'numeric', 'digits:6'),
Number::make(__('Card number'), 'guarantor_card_number')
->size('w-1/4')
->rules('required', 'integer', 'digits:16'), ->rules('required', 'integer', 'digits:16'),
Text::make(__('Name on card'), 'guarantor_card_name') Text::make(__('Name on card'), 'guarantor_card_name')
->size('w-1/2') ->size('w-1/4')
->rules('required', 'string', 'max:255'), ->rules('required', 'string', 'max:255'),
Select::make(__('Expiration month'), 'guarantor_card_month') Select::make(__('Expiration month'), 'guarantor_card_month')
->displayUsingLabels() ->displayUsingLabels()
->searchable() ->searchable()
->options(DateHelperRepository::monthsAsNumber()) ->options(DateHelperRepository::monthsAsNumber())
->size('w-1/2') ->size('w-1/4')
->rules('required'), ->rules('required'),
Select::make(__('Expiration year'), 'guarantor_card_year') Select::make(__('Expiration year'), 'guarantor_card_year')
->displayUsingLabels() ->displayUsingLabels()
->searchable() ->searchable()
->options(DateHelperRepository::yearsUntil()) ->options(DateHelperRepository::yearsUntil())
->size('w-1/2') ->size('w-1/4')
->rules('required'), ->rules('required'),
Text::make(__('Ortaça zähmen haky'), 'guarantor_note') Text::make(__('Ortaça zähmet haky'), 'guarantor_note')
->size('w-full') ->size('w-full')
->canSeeWhen('systemUser', $this), ->canSeeWhen('systemUser', $this),
]), ]),
@@ -450,7 +456,7 @@ class LoanOrderMobile extends Resource
->hide() ->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) { ->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
$field->show(); $field->show()->rules('required', 'string', 'max:255');
} }
}), }),
@@ -474,12 +480,33 @@ class LoanOrderMobile extends Resource
} }
}), }),
Select::make(__('Passport serie'), 'guarantor_2_passport_serie')
->displayUsingLabels()
->searchable()
->options(PassportRepo::values())
->size('w-1/2')
->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
$field->show()->rules('required', 'string', 'max:255');
}
}),
Number::make(__('Passport id'), 'guarantor_2_passport_id')
->size('w-1/2')
->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
$field->show()->rules('required', 'numeric', 'digits:6');
}
}),
Number::make(__('Card number'), 'guarantor_2_card_number') Number::make(__('Card number'), 'guarantor_2_card_number')
->size('w-1/2') ->size('w-1/2')
->hide() ->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) { ->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
$field->show()->rules('nullable', 'string', 'max:255'); $field->show()->rules('required', 'string', 'max:255');
} }
}), }),
@@ -497,7 +524,6 @@ class LoanOrderMobile extends Resource
->searchable() ->searchable()
->options(DateHelperRepository::monthsAsNumber()) ->options(DateHelperRepository::monthsAsNumber())
->size('w-1/2') ->size('w-1/2')
->sortable()
->hide() ->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) { ->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
@@ -510,7 +536,6 @@ class LoanOrderMobile extends Resource
->searchable() ->searchable()
->options(DateHelperRepository::yearsUntil()) ->options(DateHelperRepository::yearsUntil())
->size('w-1/2') ->size('w-1/2')
->sortable()
->hide() ->hide()
->dependsOn('loan_amount', function ($field, $request, $formData) { ->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
@@ -518,13 +543,13 @@ class LoanOrderMobile extends Resource
} }
}), }),
Text::make(__('Ortaça zähmen haky'), 'guarantor_2_note') Text::make(__('Ortaça zähmek haky'), 'guarantor_2_note')
->size('w-full') ->size('w-full')
->hide() ->hide()
->canSeeWhen('systemUser', $this) ->canSeeWhen('systemUser', $this)
->dependsOn('loan_amount', function ($field, $request, $formData) { ->dependsOn('loan_amount', function ($field, $request, $formData) {
if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) {
$field->show()->rules('required'); $field->show()->rules('nullable');
} }
}), }),
]), ]),

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('loan_orders', function (Blueprint $table) {
$table->string('guarantor_passport_serie')->nullable();
$table->string('guarantor_passport_id')->nullable();
$table->string('guarantor_2_passport_serie')->nullable();
$table->string('guarantor_2_passport_id')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('loan_orders', function (Blueprint $table) {
$table->dropColumn('guarantor_passport_serie');
$table->dropColumn('guarantor_passport_id');
$table->dropColumn('guarantor_2_passport_serie');
$table->dropColumn('guarantor_2_passport_id');
});
}
};