From 24739e16386aed84d77788a9476681063c3ac4bd Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 21 Jul 2018 13:00:48 +0200 Subject: [PATCH] Hide waiting list vouchers in voucher list --- src/pretix/base/models/waitinglist.py | 3 ++- src/pretix/control/views/item.py | 4 ++-- src/pretix/control/views/vouchers.py | 7 +++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pretix/base/models/waitinglist.py b/src/pretix/base/models/waitinglist.py index 6c812adbd..51be7dbf5 100644 --- a/src/pretix/base/models/waitinglist.py +++ b/src/pretix/base/models/waitinglist.py @@ -42,7 +42,8 @@ class WaitingListEntry(LoggedModel): voucher = models.ForeignKey( 'Voucher', verbose_name=_("Assigned voucher"), - null=True, blank=True + null=True, blank=True, + related_name='waitinglistentries' ) item = models.ForeignKey( Item, related_name='waitinglistentries', diff --git a/src/pretix/control/views/item.py b/src/pretix/control/views/item.py index 3c78ca7f9..a0fffabf2 100644 --- a/src/pretix/control/views/item.py +++ b/src/pretix/control/views/item.py @@ -613,7 +613,7 @@ class QuotaView(ChartContainingView, DetailView): 'sum': True, }, { - 'label': ugettext('Vouchers'), + 'label': ugettext('Vouchers and waiting list reservations'), 'value': self.object.count_blocking_vouchers(), 'sum': True, }, @@ -623,7 +623,7 @@ class QuotaView(ChartContainingView, DetailView): 'sum': True, }, { - 'label': ugettext('Waiting list'), + 'label': ugettext('Waiting list (pending)'), 'value': self.object.count_waiting_list_pending(), 'sum': False, }, diff --git a/src/pretix/control/views/vouchers.py b/src/pretix/control/views/vouchers.py index c0798ee52..bd39a519d 100644 --- a/src/pretix/control/views/vouchers.py +++ b/src/pretix/control/views/vouchers.py @@ -33,7 +33,7 @@ class VoucherList(PaginationMixin, EventPermissionRequiredMixin, ListView): permission = 'can_view_vouchers' def get_queryset(self): - qs = self.request.event.vouchers.all().select_related('item', 'variation') + qs = self.request.event.vouchers.filter(waitinglistentries__isnull=True).select_related('item', 'variation') if self.filter_form.is_valid(): qs = self.filter_form.filter_qs(qs) @@ -97,7 +97,10 @@ class VoucherTags(EventPermissionRequiredMixin, TemplateView): def get_context_data(self, **kwargs): ctx = super().get_context_data(**kwargs) - tags = self.request.event.vouchers.order_by('tag').filter(tag__isnull=False).values('tag').annotate( + tags = self.request.event.vouchers.order_by('tag').filter( + tag__isnull=False, + waitinglistentries__isnull=True + ).values('tag').annotate( total=Sum('max_usages'), redeemed=Sum('redeemed') )