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 @@
@@ -65,34 +65,36 @@
- {% blocktrans trimmed with org=request.organizer.name %} - We will send you an email with a link to activate your account and set a password, so - you can use the account for future orders at {{ org }}. You can still go ahead with this - purchase before you received the email. - {% endblocktrans %} -
+ {% if signup_allowed %} ++ {% blocktrans trimmed with org=request.organizer.name %} + We will send you an email with a link to activate your account and set a password, so + you can use the account for future orders at {{ org }}. You can still go ahead with this + purchase before you received the email. + {% endblocktrans %} +
+