forked from CGM_Public/pretix_original
Checkout flow: Observe direction when skipping AddOnsStep (#4658)
This commit is contained in:
@@ -160,7 +160,7 @@ class BaseCheckoutFlowStep:
|
|||||||
kwargs['cart_namespace'] = request.resolver_match.kwargs['cart_namespace']
|
kwargs['cart_namespace'] = request.resolver_match.kwargs['cart_namespace']
|
||||||
return eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs)
|
return eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs)
|
||||||
else:
|
else:
|
||||||
return prev.get_step_url(request)
|
return prev.get_step_url(request) + '?dir=prev'
|
||||||
|
|
||||||
def get_next_url(self, request):
|
def get_next_url(self, request):
|
||||||
n = self.get_next_applicable(request)
|
n = self.get_next_applicable(request)
|
||||||
@@ -662,7 +662,7 @@ class AddOnsStep(CartMixin, AsyncAction, TemplateFlowStep):
|
|||||||
if 'async_id' in request.GET and settings.HAS_CELERY:
|
if 'async_id' in request.GET and settings.HAS_CELERY:
|
||||||
return self.get_result(request)
|
return self.get_result(request)
|
||||||
if len(self.forms) == 0 and len(self.cross_selling_data) == 0 and self.is_completed(request):
|
if len(self.forms) == 0 and len(self.cross_selling_data) == 0 and self.is_completed(request):
|
||||||
return redirect(self.get_next_url(request))
|
return redirect(self.get_prev_url(request) if request.GET.get('dir') == 'prev' else self.get_next_url(request))
|
||||||
return TemplateFlowStep.get(self, request)
|
return TemplateFlowStep.get(self, request)
|
||||||
|
|
||||||
def _clean_category(self, form, category):
|
def _clean_category(self, form, category):
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class CheckoutView(View):
|
|||||||
else:
|
else:
|
||||||
previous_step = step
|
previous_step = step
|
||||||
step.c_is_before = True
|
step.c_is_before = True
|
||||||
step.c_resolved_url = step.get_step_url(request)
|
step.c_resolved_url = step.get_step_url(request) + '?dir=prev'
|
||||||
raise Http404()
|
raise Http404()
|
||||||
|
|
||||||
def redirect(self, url):
|
def redirect(self, url):
|
||||||
|
|||||||
Reference in New Issue
Block a user