diff --git a/src/pretix/base/models/vouchers.py b/src/pretix/base/models/vouchers.py index 042ba29501..3bc82abb1f 100644 --- a/src/pretix/base/models/vouchers.py +++ b/src/pretix/base/models/vouchers.py @@ -460,7 +460,7 @@ class Voucher(LoggedModel): return Order.objects.filter(all_positions__voucher__in=[self]).distinct() - def seating_available(self): + def seating_available(self, subevent): kwargs = {} if self.subevent: kwargs['subevent'] = self.subevent @@ -469,4 +469,4 @@ class Voucher(LoggedModel): elif self.item_id: return self.item.seat_category_mappings.filter(**kwargs).exists() else: - return False + return bool(subevent.seating_plan) if subevent else self.event.seating_plan diff --git a/src/pretix/presale/templates/pretixpresale/event/voucher.html b/src/pretix/presale/templates/pretixpresale/event/voucher.html index e1f6193bbf..6b8e7d0fa6 100644 --- a/src/pretix/presale/templates/pretixpresale/event/voucher.html +++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html @@ -30,7 +30,7 @@ - {% if voucher.seating_available %} + {% if seating_available %} {% if event.has_subevents %} {% eventsignal event "pretix.presale.signals.render_seating_plan" request=request subevent=subevent voucher=voucher %} {% else %} diff --git a/src/pretix/presale/views/cart.py b/src/pretix/presale/views/cart.py index 330906f6de..0441762c66 100644 --- a/src/pretix/presale/views/cart.py +++ b/src/pretix/presale/views/cart.py @@ -435,6 +435,7 @@ class RedeemView(NoSearchIndexViewMixin, EventViewMixin, TemplateView): context['items_by_category'] = item_group_by_category(items) context['subevent'] = self.subevent + context['seating_available'] = self.voucher.seating_available(self.subevent) context['new_tab'] = ( 'require_cookie' in self.request.GET and