diff --git a/src/pretix/control/forms/filter.py b/src/pretix/control/forms/filter.py index 485753123..1ccd554ed 100644 --- a/src/pretix/control/forms/filter.py +++ b/src/pretix/control/forms/filter.py @@ -2018,6 +2018,15 @@ class DeviceFilterForm(FilterForm): ], required=False, ) + state = forms.ChoiceField( + label=_('Device status'), + choices=[ + ('', _('All devices')), + ('active', _('Active devices')), + ('revoked', _('Revoked devices')) + ], + required=False + ) def __init__(self, *args, **kwargs): request = kwargs.pop('request') @@ -2047,6 +2056,11 @@ class DeviceFilterForm(FilterForm): if fdata.get('gate'): qs = qs.filter(gate=fdata['gate']) + if fdata.get('state') == 'active': + qs = qs.filter(revoked=False) + elif fdata.get('state') == 'revoked': + qs = qs.filter(revoked=True) + if fdata.get('ordering'): qs = qs.order_by(self.get_order_by()) else: diff --git a/src/pretix/control/templates/pretixcontrol/organizers/devices.html b/src/pretix/control/templates/pretixcontrol/organizers/devices.html index bf94a7398..9e488f9fa 100644 --- a/src/pretix/control/templates/pretixcontrol/organizers/devices.html +++ b/src/pretix/control/templates/pretixcontrol/organizers/devices.html @@ -30,7 +30,7 @@