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\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('');

View File

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