From cc350165dd764b05044115556fb9ab7e8027108d Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 20 Jan 2023 12:06:34 -0500 Subject: [PATCH] Fixes #11544: Catch ValidationError exception when filtering by invalid MAC address --- docs/release-notes/version-3.4.md | 1 + netbox/utilities/filters.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/docs/release-notes/version-3.4.md b/docs/release-notes/version-3.4.md index 1023ec4ae..54c8a9d54 100644 --- a/docs/release-notes/version-3.4.md +++ b/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 --- diff --git a/netbox/utilities/filters.py b/netbox/utilities/filters.py index d41eff498..76ff8192c 100644 --- a/netbox/utilities/filters.py +++ b/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)