Fixed "Back" buttons in checkout process

This commit is contained in:
Raphael Michel
2015-06-23 10:08:32 +02:00
parent bef9e05e0b
commit 6ee8201b72
2 changed files with 9 additions and 2 deletions

View File

@@ -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>

View File

@@ -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"