Browse Source

#733: Fixed MAC address device filter

Jeremy Stretch 8 years ago
parent
commit
3a6d7a1f7f
2 changed files with 5 additions and 2 deletions
  1. 4 1
      netbox/dcim/filters.py
  2. 1 1
      netbox/dcim/forms.py

+ 4 - 1
netbox/dcim/filters.py

@@ -260,8 +260,11 @@ class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
         ).distinct()
 
     def _mac_address(self, queryset, value):
+        value = value.strip()
+        if not value:
+            return queryset
         try:
-            return queryset.filter(interfaces__mac_address=value.strip()).distinct()
+            return queryset.filter(interfaces__mac_address=value).distinct()
         except AddrFormatError:
             return queryset.none()
 

+ 1 - 1
netbox/dcim/forms.py

@@ -612,7 +612,7 @@ class DeviceFilterForm(BootstrapMixin, CustomFieldFilterForm):
     platform = FilterChoiceField(queryset=Platform.objects.annotate(filter_count=Count('devices')),
                                  to_field_name='slug', null_option=(0, 'None'))
     status = forms.NullBooleanField(required=False, widget=forms.Select(choices=FORM_STATUS_CHOICES))
-    mac_address = forms.CharField(label='MAC address', required=False)
+    mac_address = forms.CharField(required=False, label='MAC address')
 
 
 #