diff --git a/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php b/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php index de59064..708ce49 100644 --- a/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php +++ b/app/Modules/SberPaymentOrder/Nova/Resources/Concerns/SberPaymentOrderFieldsForDetail.php @@ -7,6 +7,7 @@ use App\Nova\Resources\Branch\Branch; use App\Repos\Order\OrderRepo; use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; +use Ebess\AdvancedNovaMediaLibrary\Fields\Files; use Laravel\Nova\Fields\Badge; use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\Hidden; @@ -137,8 +138,38 @@ class SberPaymentOrderFieldsForDetail ])->maxRows(1)->minRows(1)->rules('required'), ]), - new Panel(__('Reciver files'), SberPaymentOrderFileFields::reciverFiles()), - new Panel(__('Sender files'), SberPaymentOrderFileFields::senderFiles()), + new Panel(__('Reciver files'), [ + Files::make('Talyba degişli walýuta “SBERBANK” kartyň rekwizitleri', 'receiver_requisite') + ->rules('required'), + + Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasy', 'receiver_document_stating_he_is_studying'), + + Files::make('Talybyň bilediniň göçürmesi', 'receiver_receiver_ticket'), + + Files::make('Talyba degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi', 'receiver_passport_local'), + + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin (zagran) pasportynyň göçürmesi', 'receiver_passport_international'), + + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary ýurtda galyp okap bilýändigi baradaky berlen möhleti hereket edýän rugsatnamasynyň (wizasynyň) bellenen sahypasynyň göçürmesi', 'receiver_visa'), + + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky Türkmenistandan çykandygy we daşary ýurt döwletine girendigi baradaky ştamplaryň (seneli ştampyň) bellenen sahypasynyň göçürmesi', 'receiver_travel_stamp_on_passport'), + + Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasyndaky maglumatyň doly takyk däl ýagdaýynda takyk däl maglumatyň sebäpleri baradaky daşary ýurt döwletiniň ýokary okuw mekdebinden haty', 'receiver_document_stating_he_is_studying_2'), + ]), + + new Panel(__('Sender files'), [ + Files::make('Ugradyja degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi', 'sender_passport_local'), + + Files::make('Ugradyja degişli Türkmenistandan çykmak we Türkmenistana girmek üçin pasportynyň asyl görnüşi we göçürmesi', 'sender_passport_international'), + + Files::make('Ugradyja degişli Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary döwletine gidendigi we daşary döwlete barandygy baradaky (ştampyň) bellenen sahypasynyň göçürmesi', 'sender_travel_stamp_on_passport'), + + Files::make('Ugradyjynyň we kabul edijiniň (talybyň) özara garyndaşlyk derejesini tassyklaýjy resminamalarynyň göçürmesi', 'sender_proof_of_kinship'), + + Files::make('Ugradyjy we kabul ediji (talyp) 2015-nji ýyldan soňra Türkmenistanyň raýatynyň pasportyny ikinji gezek alan bolsa, onda birinji gezek alan pasportynyň seriýasy baradaky maglumat', 'sender_passport_local_old'), + + Files::make('Ugradyjy we kabul ediji (talyp) 2015-nji ýyldan soňra Türkmenistanyň raýatynyň pasportyny ikinji gezek alandan soňra birinji gezek alan pasportynyň seriýasy baradaky maglumaty bilmeýän, bolsa onda polisiýanyň degişli edaralaryndan birinji alan pasportynyň seriýasy baradaky güwänamasy', 'sender_passport_local_old_replacement'), + ]), ]; } } diff --git a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php index 473862b..6d174be 100644 --- a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php +++ b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php @@ -5,6 +5,7 @@ namespace App\Modules\SberPaymentOrder\Nova\Resources; use App\Models\Branch\Branch; use App\Modules\SberPaymentOrder\Nova\Resources\Concerns\SberPaymentOrderFieldsForDetail; use App\Modules\SberPaymentOrder\Nova\Resources\Concerns\SberPaymentOrderFieldsForIndex; +use App\Nova\Actions\MakePaymentNovaVisaMaster; use App\Nova\Resource; use App\Repos\Order\Card\CardOrderRepo; use App\Repos\Order\OrderRepo; @@ -282,21 +283,22 @@ class NovaSberPaymentOrder extends Resource ]), new Panel(__('Reciver files'), [ - Files::make('Talyba degişli walýuta “SBERBANK” kartyň rekwizitleri', 'requisite'), + Files::make('Talyba degişli walýuta “SBERBANK” kartyň rekwizitleri', 'receiver_requisite') + ->rules('required'), - Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasy', 'document_stating_he_is_studying'), + Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasy', 'receiver_document_stating_he_is_studying'), - Files::make('Talybyň bilediniň göçürmesi', 'receiver_ticket'), + Files::make('Talybyň bilediniň göçürmesi', 'receiver_receiver_ticket'), - Files::make('Talyba degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi', 'passport_local'), + Files::make('Talyba degişli Türkmenistanyň raýatynyň (içki milli) pasportynyň asyl görnüşi we göçürmesi', 'receiver_passport_local'), - Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin (zagran) pasportynyň göçürmesi', 'passport_international'), + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin (zagran) pasportynyň göçürmesi', 'receiver_passport_international'), - Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary ýurtda galyp okap bilýändigi baradaky berlen möhleti hereket edýän rugsatnamasynyň (wizasynyň) bellenen sahypasynyň göçürmesi', 'visa'), + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky daşary ýurtda galyp okap bilýändigi baradaky berlen möhleti hereket edýän rugsatnamasynyň (wizasynyň) bellenen sahypasynyň göçürmesi', 'receiver_visa'), - Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky Türkmenistandan çykandygy we daşary ýurt döwletine girendigi baradaky ştamplaryň (seneli ştampyň) bellenen sahypasynyň göçürmesi', 'travel_stamp_on_passport'), + Files::make('Talybyň Türkmenistandan çykmak we Türkmenistana girmek üçin pasportyndaky Türkmenistandan çykandygy we daşary ýurt döwletine girendigi baradaky ştamplaryň (seneli ştampyň) bellenen sahypasynyň göçürmesi', 'receiver_travel_stamp_on_passport'), - Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasyndaky maglumatyň doly takyk däl ýagdaýynda takyk däl maglumatyň sebäpleri baradaky daşary ýurt döwletiniň ýokary okuw mekdebinden haty', 'document_stating_he_is_studying_2'), + Files::make('Talybyň daşary ýurt döwletiniň ýokary okuw mekdebinde okaýandygy baradaky güwänamasyndaky maglumatyň doly takyk däl ýagdaýynda takyk däl maglumatyň sebäpleri baradaky daşary ýurt döwletiniň ýokary okuw mekdebinden haty', 'receiver_document_stating_he_is_studying_2'), ]), new Panel(__('Sender files'), [ @@ -314,4 +316,18 @@ class NovaSberPaymentOrder extends Resource ]), ]; } + + /** + * Actions + * + * @param NovaRequest $request + */ + public function actions(NovaRequest $request): array + { + return [ + MakePaymentNovaVisaMaster::make() + ->icon('credit-card') + ->sole() + ]; + } } diff --git a/app/Nova/Actions/MakeSberPaymentAction.php b/app/Nova/Actions/MakeSberPaymentAction.php new file mode 100644 index 0000000..046560b --- /dev/null +++ b/app/Nova/Actions/MakeSberPaymentAction.php @@ -0,0 +1,87 @@ +where('currency_to', 'TMT')->first('value'); + + if (! $usd_to_tmt) { + return []; + } + + $max_value = number_format($usd_to_tmt->value * 250, 2); + + return [ + Heading::make(Blade::render(<<1 USD = $usd_to_tmt->value TMT +

TVEB USD tutumy: 18 USD

+

GBÜS tutumy: 3 TMT

+ HTML))->asHtml(), + + Text::make(sprintf('%s (%s)', __('Töleg möçberi'), __('TMT')), 'payment_amount') + ->fullWidth() + ->required() + ->rules('required', 'numeric', 'max:'.$max_value) + ->help("Iň ýokary möçberi: {$max_value} TMT"), + + Text::make(__('USD ekwalendi'), 'usd_rate') + ->fullWidth() + ->readonly() + ->dependsOn('payment_amount', function ($field, $request, $formData) use ($usd_to_tmt) { + if ($formData->payment_amount) { + $field->setValue(number_format($formData->payment_amount / $usd_to_tmt->value, 2, '.', '')); + } else { + $field->setValue(''); + } + }), + + Text::make(__('Jemi (TMT)'), 'total_amount') + ->fullWidth() + ->readonly() + ->dependsOn('payment_amount', function ($field, $request, $formData) { + if (is_numeric($formData->payment_amount)) { + $field->setValue( + floatval(number_format($formData->payment_amount, 2, '.', '')) + 23 + ); + } else { + $field->setValue(''); + } + }), + ]; + } +}