Merge pull request #14121 from Godmartinz/checkout_bug_fix

Fixed multiple click checkouts for consumables, accessories and components
This commit is contained in:
snipe 2024-01-11 11:15:48 +00:00 committed by GitHub
commit f610afb1b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 6 deletions

View file

@ -17,7 +17,7 @@
<div class="row"> <div class="row">
<div class="col-md-9"> <div class="col-md-9">
<form class="form-horizontal" method="post" action="" autocomplete="off"> <form class="form-horizontal" id="checkout_form" method="post" action="" autocomplete="off">
<!-- CSRF Token --> <!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" /> <input type="hidden" name="_token" value="{{ csrf_token() }}" />
@ -90,7 +90,7 @@
</div> </div>
<div class="box-footer"> <div class="box-footer">
<a class="btn btn-link" href="{{ URL::previous() }}">{{ trans('button.cancel') }}</a> <a class="btn btn-link" href="{{ URL::previous() }}">{{ trans('button.cancel') }}</a>
<button type="submit" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button> <button type="submit" id="submit_button" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button>
</div> </div>
</div> <!-- .box.box-default --> </div> <!-- .box.box-default -->
</form> </form>

View file

@ -11,7 +11,7 @@
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
<form class="form-horizontal" method="post" action="" autocomplete="off"> <form class="form-horizontal" id="checkout_form" method="post" action="" autocomplete="off">
<!-- CSRF Token --> <!-- CSRF Token -->
{{ csrf_field() }} {{ csrf_field() }}
@ -56,7 +56,7 @@
</div> <!-- .BOX-BODY--> </div> <!-- .BOX-BODY-->
<div class="box-footer"> <div class="box-footer">
<a class="btn btn-link" href="{{ URL::previous() }}">{{ trans('button.cancel') }}</a> <a class="btn btn-link" href="{{ URL::previous() }}">{{ trans('button.cancel') }}</a>
<button type="submit" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button> <button type="submit" id="submit_button" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button>
</div> </div>
</div> <!-- .box-default--> </div> <!-- .box-default-->
</form> </form>

View file

@ -12,7 +12,7 @@
<div class="row"> <div class="row">
<div class="col-md-9"> <div class="col-md-9">
<form class="form-horizontal" method="post" action="" autocomplete="off"> <form class="form-horizontal" id="checkout_form" method="post" action="" autocomplete="off">
<!-- CSRF Token --> <!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" /> <input type="hidden" name="_token" value="{{ csrf_token() }}" />
@ -77,7 +77,7 @@
</div> <!-- .box-body --> </div> <!-- .box-body -->
<div class="box-footer"> <div class="box-footer">
<a class="btn btn-link" href="{{ route('consumables.show', ['consumable'=> $consumable->id]) }}">{{ trans('button.cancel') }}</a> <a class="btn btn-link" href="{{ route('consumables.show', ['consumable'=> $consumable->id]) }}">{{ trans('button.cancel') }}</a>
<button type="submit" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button> <button type="submit" id="submit_button" class="btn btn-primary pull-right"><i class="fas fa-check icon-white" aria-hidden="true"></i> {{ trans('general.checkout') }}</button>
</div> </div>
</div> </div>
</form> </form>

View file

@ -1012,6 +1012,14 @@
event.preventDefault(); event.preventDefault();
$(this).ekkoLightbox(); $(this).ekkoLightbox();
}); });
//This prevents multi-click checkouts for accessories, components, consumables
$(document).ready(function () {
$('#checkout_form').submit(function (event) {
event.preventDefault();
$('#submit_button').prop('disabled', true);
this.submit();
});
});
</script> </script>