From b408834f4b08b00c884da5a4caaaee29df42d96f Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Wed, 2 Oct 2024 13:21:40 +0500 Subject: [PATCH] passport fields to mobile loan orders --- .../Resources/Order/Loan/LoanOrderMobile.php | 75 ++++++++++++------- ...f_loan_guarantors_to_loan_orders_table.php | 34 +++++++++ 2 files changed, 84 insertions(+), 25 deletions(-) create mode 100644 database/migrations/2024_10_02_121430_add_passport_details_of_loan_guarantors_to_loan_orders_table.php diff --git a/app/Nova/Resources/Order/Loan/LoanOrderMobile.php b/app/Nova/Resources/Order/Loan/LoanOrderMobile.php index 002f725..8820c87 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrderMobile.php +++ b/app/Nova/Resources/Order/Loan/LoanOrderMobile.php @@ -150,7 +150,7 @@ class LoanOrderMobile extends Resource public function fields(NovaRequest $request): array { return [ - ID::make()->sortable(), + ID::make(), Hidden::make('user_id') ->default(auth()->id()) @@ -195,16 +195,14 @@ class LoanOrderMobile extends Resource ->options(RegionRepo::values()) ->default(RegionRepo::default()) ->size('w-1/2') - ->rules('required') - ->sortable(), + ->rules('required'), Select::make(__('Branch'), 'branch_id') ->displayUsingLabels() ->searchable() ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) ->size('w-1/2') - ->rules('required') - ->sortable(), + ->rules('required'), ]), new Panel(__('Personal data'), [ @@ -226,8 +224,7 @@ class LoanOrderMobile extends Resource ->options(EducationRepo::values()) ->default(EducationRepo::default()) ->size('w-1/3') - ->rules('required') - ->sortable(), + ->rules('required'), Select::make(__('Marriage status'), 'marriage_status') ->displayUsingLabels() @@ -235,8 +232,7 @@ class LoanOrderMobile extends Resource ->options(MarriageRepo::values()) ->default(MarriageRepo::default()) ->size('w-1/3') - ->rules('required') - ->sortable(), + ->rules('required'), Date::make(__('Date of birth'), 'born_at') ->size('w-1/3') @@ -254,7 +250,8 @@ class LoanOrderMobile extends Resource ->searchable() ->displayUsingLabels() ->options(LoanOrderRepo::satisfiableValues()) - ->size('w-full'), + ->size('w-full') + ->canSeeWhen('systemUser', $this), ]), new Panel(__('Card'), [ @@ -287,8 +284,7 @@ class LoanOrderMobile extends Resource ->searchable() ->options(PassportRepo::values()) ->size('w-1/3') - ->rules('required') - ->sortable(), + ->rules('required'), Number::make(__('Passport id'), 'passport_id') ->size('w-1/3') @@ -347,8 +343,7 @@ class LoanOrderMobile extends Resource ->options(RegionRepo::values()) ->default(RegionRepo::default()) ->size('w-1/2') - ->rules('required') - ->sortable(), + ->rules('required'), Select::make(__('Work province'), 'work_province_id') ->displayUsingLabels() @@ -416,29 +411,40 @@ class LoanOrderMobile extends Resource ->size('w-1/3') ->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') + ->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'), Text::make(__('Name on card'), 'guarantor_card_name') - ->size('w-1/2') + ->size('w-1/4') ->rules('required', 'string', 'max:255'), Select::make(__('Expiration month'), 'guarantor_card_month') ->displayUsingLabels() ->searchable() ->options(DateHelperRepository::monthsAsNumber()) - ->size('w-1/2') + ->size('w-1/4') ->rules('required'), Select::make(__('Expiration year'), 'guarantor_card_year') ->displayUsingLabels() ->searchable() ->options(DateHelperRepository::yearsUntil()) - ->size('w-1/2') + ->size('w-1/4') ->rules('required'), - Text::make(__('Ortaça zähmen haky'), 'guarantor_note') + Text::make(__('Ortaça zähmet haky'), 'guarantor_note') ->size('w-full') ->canSeeWhen('systemUser', $this), ]), @@ -450,7 +456,7 @@ class LoanOrderMobile extends Resource ->hide() ->dependsOn('loan_amount', function ($field, $request, $formData) { 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') ->size('w-1/2') ->hide() ->dependsOn('loan_amount', function ($field, $request, $formData) { 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() ->options(DateHelperRepository::monthsAsNumber()) ->size('w-1/2') - ->sortable() ->hide() ->dependsOn('loan_amount', function ($field, $request, $formData) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { @@ -510,7 +536,6 @@ class LoanOrderMobile extends Resource ->searchable() ->options(DateHelperRepository::yearsUntil()) ->size('w-1/2') - ->sortable() ->hide() ->dependsOn('loan_amount', function ($field, $request, $formData) { 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') ->hide() ->canSeeWhen('systemUser', $this) ->dependsOn('loan_amount', function ($field, $request, $formData) { if ($formData->loan_amount && floatval($formData->loan_amount) > 20000) { - $field->show()->rules('required'); + $field->show()->rules('nullable'); } }), ]), diff --git a/database/migrations/2024_10_02_121430_add_passport_details_of_loan_guarantors_to_loan_orders_table.php b/database/migrations/2024_10_02_121430_add_passport_details_of_loan_guarantors_to_loan_orders_table.php new file mode 100644 index 0000000..ef8326b --- /dev/null +++ b/database/migrations/2024_10_02_121430_add_passport_details_of_loan_guarantors_to_loan_orders_table.php @@ -0,0 +1,34 @@ +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'); + }); + } +};