Просмотр исходного кода

Fixes #3856: Allow filtering VM interfaces by multiple MAC addresses

Jeremy Stretch 6 лет назад
Родитель
Сommit
770f4c962c
2 измененных файлов с 2 добавлено и 12 удалено
  1. 1 0
      docs/release-notes/version-2.6.md
  2. 1 12
      netbox/virtualization/filters.py

+ 1 - 0
docs/release-notes/version-2.6.md

@@ -9,6 +9,7 @@
 
 * [#3589](https://github.com/netbox-community/netbox/issues/3589) - Fix validation on tagged VLANs of an interface
 * [#3853](https://github.com/netbox-community/netbox/issues/3853) - Fix device role link on config context view
+* [#3856](https://github.com/netbox-community/netbox/issues/3856) - Allow filtering VM interfaces by multiple MAC addresses
 
 ---
 

+ 1 - 12
netbox/virtualization/filters.py

@@ -208,8 +208,7 @@ class InterfaceFilter(django_filters.FilterSet):
         to_field_name='name',
         label='Virtual machine',
     )
-    mac_address = django_filters.CharFilter(
-        method='_mac_address',
+    mac_address = MultiValueMACAddressFilter(
         label='MAC address',
     )
 
@@ -217,16 +216,6 @@ class InterfaceFilter(django_filters.FilterSet):
         model = Interface
         fields = ['id', 'name', 'enabled', 'mtu']
 
-    def _mac_address(self, queryset, name, value):
-        value = value.strip()
-        if not value:
-            return queryset
-        try:
-            mac = EUI(value.strip())
-            return queryset.filter(mac_address=mac)
-        except AddrFormatError:
-            return queryset.none()
-
     def search(self, queryset, name, value):
         if not value.strip():
             return queryset