Use AJAX to create payments

This commit is contained in:
Hillel Coren 2018-11-06 14:26:37 +02:00
parent e1c5536a46
commit 24c84460bb
2 changed files with 27 additions and 3 deletions

View file

@ -218,7 +218,7 @@ class PaymentController extends BaseController
Session::flash('message', trans($credit ? 'texts.created_payment_and_credit' : 'texts.created_payment'));
}
return redirect()->to($payment->client->getRoute() . '#payments');
return url($payment->client->getRoute());
}
/**

View file

@ -226,7 +226,8 @@
@if ($payment)
$('#saveButton').attr('disabled', true);
return true;
submitAjax();
return false;
@else
// warn if amount is more than balance/credit will be created
var invoiceId = $('input[name=invoice]').val();
@ -235,13 +236,36 @@
if (NINJA.parseFloat(amount) <= invoice.balance || confirm("{{ trans('texts.amount_greater_than_balance') }}")) {
$('#saveButton').attr('disabled', true);
return true;
submitAjax();
return false;
} else {
return false;
}
@endif
}
function submitAjax() {
$.post('{{ url($url) }}', $('.main-form').serialize(), function(data) {
if (data && data.toLowerCase().indexOf('http') === 0) {
NINJA.formIsChanged = false;
location.href = data;
} else {
handleSaveFailed();
}
}).fail(function(data) {
handleSaveFailed(data);
});
}
function handleSaveFailed(data) {
$('#saveButton').attr('disabled', false);
var error = '';
if (data) {
var error = firstJSONError(data.responseJSON) || data.statusText;
}
swal({!! json_encode(trans('texts.error_refresh_page')) !!}, error);
}
function submitAction(action) {
$('#action').val(action);
$('.main-form').submit();