diff --git a/app/Nova/Actions/MakePaymentNovaVisaMaster.php b/app/Nova/Actions/MakePaymentNovaVisaMaster.php index 071987b..de670a6 100644 --- a/app/Nova/Actions/MakePaymentNovaVisaMaster.php +++ b/app/Nova/Actions/MakePaymentNovaVisaMaster.php @@ -17,6 +17,7 @@ use Illuminate\Support\Facades\Log; use Laravel\Nova\Actions\Action; use Laravel\Nova\Actions\ActionResponse; use Laravel\Nova\Fields\ActionFields; +use Laravel\Nova\Fields\FormData; use Laravel\Nova\Fields\Heading; use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\Text; @@ -43,8 +44,10 @@ class MakePaymentNovaVisaMaster extends Action */ public function handle(ActionFields $fields, Collection $models) { - info($fields->get('payment_amount')); - if (! property_exists($fields, 'payment_amount') || ! property_exists($fields, 'usd_payment')) { + $payment_amount = $fields->get('payment_amount'); + $usd_payment = $fields->get('usd_payment'); + + if (! $payment_amount || ! $usd_payment) { return Action::modal('modal-response', [ 'title' => 'Töleg maglumatlary ýok!', 'body' => 'Töleg maglumatlary girizilmedik', @@ -85,7 +88,7 @@ class MakePaymentNovaVisaMaster extends Action ]); } - $total_amount = floatval(number_format($fields->payment_amount, 2, '.', '')) + 23; + $total_amount = floatval(number_format($payment_amount, 2, '.', '')) + 23; $payment = $this->order($resource, $total_amount); @@ -96,7 +99,7 @@ class MakePaymentNovaVisaMaster extends Action ]); } - $this->createPaymentRecord($payment, $resource, $total_amount, $fields->usd_payment); + $this->createPaymentRecord($payment, $resource, $total_amount, $usd_payment); return ActionResponse::openInNewTab($payment['url']); } @@ -140,18 +143,22 @@ class MakePaymentNovaVisaMaster extends Action 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, 2, '.', '')); + ->dependsOn('payment_amount', function (Text $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) { + $payment_amount = $formData->get('payment_amount'); + + if ($payment_amount) { + $field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', '')); } else { $field->setValue(''); } }), Hidden::make('usd_payment') - ->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, 2, '.', '')); + ->dependsOn('payment_amount', function (Hidden $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) { + $payment_amount = $formData->get('payment_amount'); + + if ($payment_amount) { + $field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', '')); } else { $field->setValue(''); } @@ -161,9 +168,11 @@ class MakePaymentNovaVisaMaster extends Action ->fullWidth() ->readonly() ->dependsOn('payment_amount', function ($field, $request, $formData) { - if ($formData->payment_amount) { + $payment_amount = $formData->get('payment_amount'); + + if ($payment_amount) { $field->setValue( - floatval(number_format($formData->payment_amount, 2, '.', '')) + 23 + floatval(number_format($payment_amount, 2, '.', '')) + 23 ); } else { $field->setValue(''); diff --git a/app/Repos/Payment/OnlinePaymentRepo.php b/app/Repos/Payment/OnlinePaymentRepo.php index 5a90af4..c0d9b95 100644 --- a/app/Repos/Payment/OnlinePaymentRepo.php +++ b/app/Repos/Payment/OnlinePaymentRepo.php @@ -13,8 +13,8 @@ use Laravel\Nova\Makeable; class OnlinePaymentRepo { - use HandlesVisaMasterPayments; use HandlesSberPeyments; + use HandlesVisaMasterPayments; use Makeable; /**