From 881f0e04a0b953c30b1ae25fe9f8ed68a35c024d Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 7 Jun 2021 12:41:03 +0200 Subject: [PATCH] Do not offer to create a new customer account if a membership is required --- src/pretix/presale/checkoutflow.py | 9 +++ .../event/checkout_customer.html | 58 ++++++++++--------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 81b54c62c..7595c9b33 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -254,6 +254,14 @@ class CustomerStep(QuestionsViewMixin, CartMixin, TemplateFlowStep): field.widget.is_required = False return f + @cached_property + def signup_allowed(self): + return not any( + p.item.require_membership or + (p.variation and p.variation.require_membership) + for p in self.positions + ) + @cached_property def guest_allowed(self): return not any( @@ -330,6 +338,7 @@ class CustomerStep(QuestionsViewMixin, CartMixin, TemplateFlowStep): self.cart_session.get('customer_mode', 'login' if self.request.customer else '') ) ctx['guest_allowed'] = self.guest_allowed + ctx['signup_allowed'] = self.signup_allowed if 'customer' in self.cart_session: try: diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_customer.html b/src/pretix/presale/templates/pretixpresale/event/checkout_customer.html index 0b9e7bbef..de448d462 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_customer.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_customer.html @@ -14,7 +14,7 @@

{% trans "Log in with a customer account" %} @@ -23,7 +23,7 @@ -
- -