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

This commit is contained in:
jeremystretch 2023-01-20 12:06:34 -05:00
parent db7e1b8a97
commit cc350165dd
2 changed files with 8 additions and 0 deletions

View File

@ -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
---

View File

@ -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)