diff --git a/src/pretix/control/forms/filter.py b/src/pretix/control/forms/filter.py index 3c59ddc4a..2684e7f96 100644 --- a/src/pretix/control/forms/filter.py +++ b/src/pretix/control/forms/filter.py @@ -796,7 +796,10 @@ class VoucherFilterForm(FilterForm): if fdata.get('tag'): s = fdata.get('tag').strip() - qs = qs.filter(tag__icontains=s) + if s == '<>': + qs = qs.filter(Q(tag__isnull=True) | Q(tag='')) + else: + qs = qs.filter(tag__icontains=s) if fdata.get('qm'): s = fdata.get('qm') diff --git a/src/pretix/control/templates/pretixcontrol/vouchers/tags.html b/src/pretix/control/templates/pretixcontrol/vouchers/tags.html index 198769ae2..34537d0f4 100644 --- a/src/pretix/control/templates/pretixcontrol/vouchers/tags.html +++ b/src/pretix/control/templates/pretixcontrol/vouchers/tags.html @@ -27,10 +27,17 @@ {% for t in tags %} - - {{ t.tag }} - ({{ t.redeemed }} / {{ t.total }}) + + {% if t.tag %} + + {{ t.tag }} + + {% else %} + '|urlencode }}"> + {% trans "Empty tag" %} + + {% endif %} + ({{ t.redeemed }} / {{ t.total }})