From 8a17fedaa62a6314888ac4dc7a216a2eceddef5d Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 12 Dec 2019 11:56:36 +0100 Subject: [PATCH] Clarify show_vouchers constraint with subevents --- .../pretixpresale/event/fragment_cart.html | 4 ++-- src/pretix/presale/views/event.py | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html index 2ce8a79797..728957ee3e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html @@ -252,7 +252,7 @@
{{ cart.total|money:event.currency }} - {% if editable and show_vouchers and not cart.all_with_voucher %} + {% if editable and vouchers_exist and not cart.all_with_voucher %}
{% trans "Redeem a voucher" %} @@ -273,4 +273,4 @@ {% endif %}
- \ No newline at end of file + diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 7dd01f87ce..471d9d0cf8 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -306,6 +306,13 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) + + # Show voucher option if an event is selected and vouchers exist + vouchers_exist = self.request.event.cache.get('vouchers_exist') + if vouchers_exist is None: + vouchers_exist = self.request.event.vouchers.exists() + self.request.event.cache.set('vouchers_exist', vouchers_exist) + if not self.request.event.has_subevents or self.subevent: # Fetch all items items, display_add_to_cart = get_grouped_items(self.request.event, self.subevent, @@ -316,14 +323,11 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView): context['items_by_category'] = item_group_by_category(items) context['display_add_to_cart'] = display_add_to_cart - # Show voucher option if an event is selected and vouchers exist - vouchers_exist = self.request.event.cache.get('vouchers_exist') - if vouchers_exist is None: - vouchers_exist = self.request.event.vouchers.exists() - self.request.event.cache.set('vouchers_exist', vouchers_exist) context['show_vouchers'] = vouchers_exist + context['vouchers_exist'] = vouchers_exist else: context['show_vouchers'] = False + context['vouchers_exist'] = vouchers_exist context['ev'] = self.subevent or self.request.event context['subevent'] = self.subevent