12589 fix boolean filters

This commit is contained in:
Arthur 2023-06-12 09:36:46 -07:00
parent 30a168a33e
commit 057fbf0ac4
2 changed files with 37 additions and 46 deletions

View File

@ -16,6 +16,10 @@ __all__ = (
class UserBulkEditForm(BootstrapMixin, forms.Form): class UserBulkEditForm(BootstrapMixin, forms.Form):
pk = forms.ModelMultipleChoiceField(
queryset=None, # Set from self.model on init
widget=forms.MultipleHiddenInput
)
first_name = forms.CharField( first_name = forms.CharField(
max_length=150, max_length=150,
required=False required=False
@ -43,8 +47,16 @@ class UserBulkEditForm(BootstrapMixin, forms.Form):
) )
nullable_fields = () nullable_fields = ()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['pk'].queryset = self.model.objects.all()
class GroupBulkEditForm(NetBoxModelBulkEditForm):
class GroupBulkEditForm(BootstrapMixin, forms.Form):
pk = forms.ModelMultipleChoiceField(
queryset=None, # Set from self.model on init
widget=forms.MultipleHiddenInput
)
first_name = forms.CharField( first_name = forms.CharField(
max_length=150, max_length=150,
required=False required=False
@ -58,6 +70,10 @@ class GroupBulkEditForm(NetBoxModelBulkEditForm):
'asns', 'description', 'comments', 'asns', 'description', 'comments',
) )
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['pk'].queryset = self.model.objects.all()
class ObjectPermissionBulkEditForm(NetBoxModelBulkEditForm): class ObjectPermissionBulkEditForm(NetBoxModelBulkEditForm):
model = ObjectPermission model = ObjectPermission

View File

@ -8,6 +8,7 @@ from ipam.models import ASN
from netbox.forms import NetBoxModelFilterSetForm from netbox.forms import NetBoxModelFilterSetForm
from tenancy.forms import TenancyFilterForm, ContactModelFilterForm from tenancy.forms import TenancyFilterForm, ContactModelFilterForm
from users.models import NetBoxUser from users.models import NetBoxUser
from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_choice
from utilities.forms.fields import DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.fields import DynamicModelMultipleChoiceField, TagFilterField
from utilities.forms.widgets import DatePicker, NumberWithOptions from utilities.forms.widgets import DatePicker, NumberWithOptions
@ -34,16 +35,25 @@ class UserFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
last_name = forms.CharField( last_name = forms.CharField(
required=False required=False
) )
is_superuser = forms.BooleanField( is_superuser = forms.NullBooleanField(
required=False, required=False,
widget=forms.Select(
choices=BOOLEAN_WITH_BLANK_CHOICES
),
label='Is Superuser', label='Is Superuser',
) )
is_staff = forms.BooleanField( is_staff = forms.NullBooleanField(
required=False, required=False,
widget=forms.Select(
choices=BOOLEAN_WITH_BLANK_CHOICES
),
label='Is Staff', label='Is Staff',
) )
is_active = forms.BooleanField( is_active = forms.NullBooleanField(
required=False, required=False,
widget=forms.Select(
choices=BOOLEAN_WITH_BLANK_CHOICES
),
label='Is Active', label='Is Active',
) )
@ -52,57 +62,22 @@ class GroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
model = NetBoxUser model = NetBoxUser
fieldsets = ( fieldsets = (
(None, ('q', 'filter_id',)), (None, ('q', 'filter_id',)),
('Name', ('username', 'first_name', 'last_name')), ('Name', ('name',)),
('Security', ('is_superuser', 'is_staff', 'is_active')),
) )
username = forms.CharField( name = forms.CharField(
required=False required=False
) )
first_name = forms.CharField(
required=False
)
last_name = forms.CharField(
required=False
)
is_superuser = forms.BooleanField(
required=False,
label='Is Superuser',
)
is_staff = forms.BooleanField(
required=False,
label='Is Staff',
)
is_active = forms.BooleanField(
required=False,
label='Is Active',
)
class ObjectPermissionFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): class ObjectPermissionFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
model = NetBoxUser model = NetBoxUser
fieldsets = ( fieldsets = (
(None, ('q', 'filter_id',)), (None, ('q', 'filter_id',)),
('Name', ('username', 'first_name', 'last_name')), ('Name', ('enabled',)),
('Security', ('is_superuser', 'is_staff', 'is_active')),
) )
username = forms.CharField( enabled = forms.NullBooleanField(
required=False
)
first_name = forms.CharField(
required=False
)
last_name = forms.CharField(
required=False
)
is_superuser = forms.BooleanField(
required=False, required=False,
label='Is Superuser', widget=forms.Select(
) choices=BOOLEAN_WITH_BLANK_CHOICES
is_staff = forms.BooleanField( )
required=False,
label='Is Staff',
)
is_active = forms.BooleanField(
required=False,
label='Is Active',
) )