소스 검색

Fixes #11544: Catch ValidationError exception when filtering by invalid MAC address

jeremystretch 3 년 전
부모
커밋
cc350165dd
2개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      docs/release-notes/version-3.4.md
  2. 7 0
      netbox/utilities/filters.py

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

@@ -32,6 +32,7 @@
 * [#11497](https://github.com/netbox-community/netbox/issues/11497) - Enforce `run_script` permission when executing scripts via REST API
 * [#11516](https://github.com/netbox-community/netbox/issues/11516) - Prevent text highlight utility from interpreting match as regex
 * [#11522](https://github.com/netbox-community/netbox/issues/11522) - Correct tag links under contact & tenant list views
+* [#11544](https://github.com/netbox-community/netbox/issues/11544) - Catch ValidationError exception when filtering by invalid MAC address
 
 ---
 

+ 7 - 0
netbox/utilities/filters.py

@@ -1,6 +1,7 @@
 import django_filters
 from django import forms
 from django.conf import settings
+from django.core.exceptions import ValidationError
 from django_filters.constants import EMPTY_VALUES
 
 
@@ -67,6 +68,12 @@ class MACAddressFilter(django_filters.CharFilter):
 class MultiValueMACAddressFilter(django_filters.MultipleChoiceFilter):
     field_class = multivalue_field_factory(forms.CharField)
 
+    def filter(self, qs, value):
+        try:
+            return super().filter(qs, value)
+        except ValidationError:
+            return qs.none()
+
 
 class MultiValueWWNFilter(django_filters.MultipleChoiceFilter):
     field_class = multivalue_field_factory(forms.CharField)