diff --git a/netbox_topology_views/filters.py b/netbox_topology_views/filters.py index 4ab3910..29c915d 100644 --- a/netbox_topology_views/filters.py +++ b/netbox_topology_views/filters.py @@ -41,10 +41,9 @@ class DeviceFilterSet(TenancyFilterSet, NetBoxModelFilterSet): ) status = django_filters.MultipleChoiceFilter( choices=DeviceStatusChoices, - null_value=None + null_value=None, ) - - + class Meta: model = Device fields = ['id', 'name'] diff --git a/netbox_topology_views/forms.py b/netbox_topology_views/forms.py index 744694e..ac483c5 100644 --- a/netbox_topology_views/forms.py +++ b/netbox_topology_views/forms.py @@ -22,10 +22,10 @@ class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): model = Device fieldsets = ( (None, ('q', 'hide_unconnected', 'save_coords', 'show_circuit', 'show_power' ,)), - (None, ('tenant_group_id', 'tenant_id')), - (None, ('region_id', 'site_id', 'location_id')), - (None, ('device_role_id', )), - (None, ('tag', 'status')), + (None, ('tenant_group_id', 'tenant_id',)), + (None, ('region_id', 'site_id', 'location_id',)), + (None, ('device_role_id','id','status', )), + (None, ('tag', )), ) region_id = DynamicModelMultipleChoiceField( @@ -38,6 +38,17 @@ class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm): required=False, label=_('Device Role') ) + id = DynamicModelMultipleChoiceField( + queryset=Device.objects.all(), + required=False, + label=_('Device'), + query_params={ + 'location_id' : '$location_id', + 'region_id': '$region_id', + 'site_id': '$site_id', + 'role_id': '$device_role_id', + }, + ) site_id = DynamicModelMultipleChoiceField( queryset=Site.objects.all(), required=False,