From 22c36b89dae30a50cc35a5bf5c85390774a178f7 Mon Sep 17 00:00:00 2001 From: Mira Date: Mon, 21 Oct 2024 16:46:32 +0200 Subject: [PATCH] Show proper error message in case of add-ons that are required, sold-out and hidden (#4545) --- src/pretix/presale/checkoutflow.py | 3 ++- .../templates/pretixpresale/event/checkout_addons.html | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 371e89492..f4c25f7a0 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -645,6 +645,7 @@ class AddOnsStep(CartMixin, AsyncAction, TemplateFlowStep): ctx['forms'] = self.forms ctx['cart'] = self.get_cart() ctx['cross_selling_data'] = self.cross_selling_data + ctx['incomplete'] = not self.is_completed(self.request) return ctx def get_success_message(self, value): @@ -660,7 +661,7 @@ class AddOnsStep(CartMixin, AsyncAction, TemplateFlowStep): self.request = request if 'async_id' in request.GET and settings.HAS_CELERY: return self.get_result(request) - if len(self.forms) == 0 and len(self.cross_selling_data) == 0: + 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 TemplateFlowStep.get(self, request) diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html b/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html index d4263fb5c..57ab3d045 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html @@ -11,6 +11,10 @@

{% trans "For some of the products in your cart, you can choose additional options before you continue." %}

+ {% elif incomplete %} +
+ {% trans "A product in your cart is only sold in combination with add-on products that are no longer available. Please contact the event organizer." %} +
{% endif %}