diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html index 83cf723695..cdc10f3f51 100644 --- a/src/pretix/presale/templates/pretixpresale/event/index.html +++ b/src/pretix/presale/templates/pretixpresale/event/index.html @@ -442,7 +442,7 @@ {% endif %} {% endif %} - {% if vouchers_exist %} + {% if show_vouchers %}

{% trans "Redeem a voucher" %}

diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index 1766127c0a..aeccdb67d5 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -227,15 +227,20 @@ class EventIndex(EventViewMixin, 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 + else: + context['show_vouchers'] = False + + context['ev'] = self.subevent or self.request.event context['subevent'] = self.subevent context['cart'] = self.get_cart() context['has_addon_choices'] = get_cart(self.request).filter(item__addons__isnull=False).exists() - 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['vouchers_exist'] = vouchers_exist - context['ev'] = self.subevent or self.request.event + if self.subevent: context['frontpage_text'] = str(self.subevent.frontpage_text) else: