This commit is contained in:
2024-11-25 20:40:28 +05:00
parent c176074d03
commit fda9c200c9
2 changed files with 22 additions and 13 deletions

View File

@@ -17,6 +17,7 @@ use Illuminate\Support\Facades\Log;
use Laravel\Nova\Actions\Action; use Laravel\Nova\Actions\Action;
use Laravel\Nova\Actions\ActionResponse; use Laravel\Nova\Actions\ActionResponse;
use Laravel\Nova\Fields\ActionFields; use Laravel\Nova\Fields\ActionFields;
use Laravel\Nova\Fields\FormData;
use Laravel\Nova\Fields\Heading; use Laravel\Nova\Fields\Heading;
use Laravel\Nova\Fields\Hidden; use Laravel\Nova\Fields\Hidden;
use Laravel\Nova\Fields\Text; use Laravel\Nova\Fields\Text;
@@ -43,8 +44,10 @@ class MakePaymentNovaVisaMaster extends Action
*/ */
public function handle(ActionFields $fields, Collection $models) public function handle(ActionFields $fields, Collection $models)
{ {
info($fields->get('payment_amount')); $payment_amount = $fields->get('payment_amount');
if (! property_exists($fields, 'payment_amount') || ! property_exists($fields, 'usd_payment')) { $usd_payment = $fields->get('usd_payment');
if (! $payment_amount || ! $usd_payment) {
return Action::modal('modal-response', [ return Action::modal('modal-response', [
'title' => 'Töleg maglumatlary ýok!', 'title' => 'Töleg maglumatlary ýok!',
'body' => 'Töleg maglumatlary girizilmedik', '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); $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']); return ActionResponse::openInNewTab($payment['url']);
} }
@@ -140,18 +143,22 @@ class MakePaymentNovaVisaMaster extends Action
Text::make(__('USD ekwalendi'), 'usd_rate') Text::make(__('USD ekwalendi'), 'usd_rate')
->fullWidth() ->fullWidth()
->readonly() ->readonly()
->dependsOn('payment_amount', function ($field, $request, $formData) use ($usd_to_tmt) { ->dependsOn('payment_amount', function (Text $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) {
if ($formData->payment_amount) { $payment_amount = $formData->get('payment_amount');
$field->setValue(number_format($formData->payment_amount / $usd_to_tmt, 2, '.', ''));
if ($payment_amount) {
$field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', ''));
} else { } else {
$field->setValue(''); $field->setValue('');
} }
}), }),
Hidden::make('usd_payment') Hidden::make('usd_payment')
->dependsOn('payment_amount', function ($field, $request, $formData) use ($usd_to_tmt) { ->dependsOn('payment_amount', function (Hidden $field, NovaRequest $request, FormData $formData) use ($usd_to_tmt) {
if ($formData->payment_amount) { $payment_amount = $formData->get('payment_amount');
$field->setValue(number_format($formData->payment_amount / $usd_to_tmt, 2, '.', ''));
if ($payment_amount) {
$field->setValue(number_format($payment_amount / $usd_to_tmt, 2, '.', ''));
} else { } else {
$field->setValue(''); $field->setValue('');
} }
@@ -161,9 +168,11 @@ class MakePaymentNovaVisaMaster extends Action
->fullWidth() ->fullWidth()
->readonly() ->readonly()
->dependsOn('payment_amount', function ($field, $request, $formData) { ->dependsOn('payment_amount', function ($field, $request, $formData) {
if ($formData->payment_amount) { $payment_amount = $formData->get('payment_amount');
if ($payment_amount) {
$field->setValue( $field->setValue(
floatval(number_format($formData->payment_amount, 2, '.', '')) + 23 floatval(number_format($payment_amount, 2, '.', '')) + 23
); );
} else { } else {
$field->setValue(''); $field->setValue('');

View File

@@ -13,8 +13,8 @@ use Laravel\Nova\Makeable;
class OnlinePaymentRepo class OnlinePaymentRepo
{ {
use HandlesVisaMasterPayments;
use HandlesSberPeyments; use HandlesSberPeyments;
use HandlesVisaMasterPayments;
use Makeable; use Makeable;
/** /**