Add filter for revoked devices (#2372)

Co-authored-by: Raphael Michel <michel@rami.io>
This commit is contained in:
Martin Gross
2021-12-13 12:47:43 +01:00
committed by GitHub
parent 533939cae4
commit f69e270e4d
2 changed files with 18 additions and 1 deletions

View File

@@ -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: