From 6ee8201b72c79ce4421c942541b1cb5e82466fca Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 23 Jun 2015 10:08:32 +0200 Subject: [PATCH] Fixed "Back" buttons in checkout process --- .../templates/pretixpresale/event/checkout_payment.html | 2 +- src/pretix/presale/views/checkout.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_payment.html b/src/pretix/presale/templates/pretixpresale/event/checkout_payment.html index 0befce3024..ab3b7bd140 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_payment.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_payment.html @@ -34,7 +34,7 @@
diff --git a/src/pretix/presale/views/checkout.py b/src/pretix/presale/views/checkout.py index 8adb6d2008..943990c34b 100644 --- a/src/pretix/presale/views/checkout.py +++ b/src/pretix/presale/views/checkout.py @@ -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"