mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 00:28:16 -06:00
Add device filter back
This commit is contained in:
parent
f721d74768
commit
afa6fb1c5f
@ -582,6 +582,10 @@ class InterfaceListFilter(django_filters.FilterSet):
|
|||||||
method='search',
|
method='search',
|
||||||
label='Search',
|
label='Search',
|
||||||
)
|
)
|
||||||
|
device = django_filters.CharFilter(
|
||||||
|
method='filter_device',
|
||||||
|
label='Device',
|
||||||
|
)
|
||||||
#site_id = django_filters.ModelMultipleChoiceFilter(
|
#site_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
# name='site',
|
# name='site',
|
||||||
# method='_filter_site',
|
# method='_filter_site',
|
||||||
@ -617,7 +621,7 @@ class InterfaceListFilter(django_filters.FilterSet):
|
|||||||
def filter_site(self, queryset, name, value):
|
def filter_site(self, queryset, name, value):
|
||||||
if not value.strip():
|
if not value.strip():
|
||||||
return queryset
|
return queryset
|
||||||
return queryset.filter(interfaces__device_id__device__site__slug=value)
|
return queryset.filter(device_id__device__site__slug=value)
|
||||||
|
|
||||||
def filter_role(self, queryset, name, value):
|
def filter_role(self, queryset, name, value):
|
||||||
try:
|
try:
|
||||||
@ -626,6 +630,12 @@ class InterfaceListFilter(django_filters.FilterSet):
|
|||||||
except Device.DoesNotExist:
|
except Device.DoesNotExist:
|
||||||
return queryset.none()
|
return queryset.none()
|
||||||
|
|
||||||
|
def filter_device(self, queryset, name, value):
|
||||||
|
if not value.strip():
|
||||||
|
return queryset
|
||||||
|
return queryset.filter(device__name__icontains=value)
|
||||||
|
)
|
||||||
|
|
||||||
def filter_type(self, queryset, name, value):
|
def filter_type(self, queryset, name, value):
|
||||||
value = value.strip().lower()
|
value = value.strip().lower()
|
||||||
return {
|
return {
|
||||||
|
@ -1620,6 +1620,7 @@ class InterfaceFilterForm(BootstrapMixin, forms.Form):
|
|||||||
class InterfaceListFilterForm(BootstrapMixin, forms.Form):
|
class InterfaceListFilterForm(BootstrapMixin, forms.Form):
|
||||||
q = forms.CharField(required=False, label='Search')
|
q = forms.CharField(required=False, label='Search')
|
||||||
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
|
site = forms.ModelChoiceField(required=False, queryset=Site.objects.all(), to_field_name='slug')
|
||||||
|
device = forms.CharField(required=False, label='Device name')
|
||||||
enabled = forms.ChoiceField(choices=add_blank_choice(IFACE_ENABLED_CHOICES), required=False)
|
enabled = forms.ChoiceField(choices=add_blank_choice(IFACE_ENABLED_CHOICES), required=False)
|
||||||
#role = FilterChoiceField(
|
#role = FilterChoiceField(
|
||||||
# required=False,
|
# required=False,
|
||||||
|
Loading…
Reference in New Issue
Block a user