mirror of
https://github.com/pretix/pretix.git
synced 2026-05-08 15:44:02 +00:00
Fixed "Back" buttons in checkout process
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
<div class="row checkout-button-row">
|
||||
<div class="col-md-4">
|
||||
<a class="btn btn-block btn-default btn-lg"
|
||||
href="{{ view.get_questions_url }}">
|
||||
href="{{ view.get_previous_url }}">
|
||||
{% trans "Go back" %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -128,6 +128,8 @@ class CheckoutStart(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin,
|
||||
|
||||
if not self.forms:
|
||||
# Nothing to do here
|
||||
if self.request.GET.get('back', 'false') == 'true':
|
||||
return redirect(self.get_index_url())
|
||||
return redirect(self.get_payment_url())
|
||||
|
||||
return super().get(*args, **kwargs)
|
||||
@@ -190,6 +192,9 @@ class PaymentDetails(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin,
|
||||
ctx['selected'] = self.request.POST.get('payment', self.request.session.get('payment', ''))
|
||||
return ctx
|
||||
|
||||
def get_previous_url(self):
|
||||
return self.get_questions_url() + "?back=true"
|
||||
|
||||
|
||||
class OrderConfirm(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin, CheckoutView):
|
||||
template_name = "pretixpresale/event/checkout_confirm.html"
|
||||
@@ -359,5 +364,7 @@ class OrderConfirm(EventViewMixin, CartDisplayMixin, EventLoginRequiredMixin, Ch
|
||||
return order
|
||||
|
||||
def get_previous_url(self):
|
||||
if self.payment_provider != "free":
|
||||
if self.payment_provider.identifier != "free":
|
||||
return self.get_payment_url()
|
||||
else:
|
||||
return self.get_questions_url() + "?back=true"
|
||||
|
||||
Reference in New Issue
Block a user