From f3906dd7c43c10be4b44ab8a755f42c83a55660d Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Tue, 23 Aug 2022 09:33:36 -0500 Subject: [PATCH] Fixes #10111 - Wrap search QS to catch ValueError on identifier field --- docs/release-notes/version-3.3.md | 1 + netbox/ipam/filtersets.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.3.md b/docs/release-notes/version-3.3.md index 33fce0a3c..16a62b8cd 100644 --- a/docs/release-notes/version-3.3.md +++ b/docs/release-notes/version-3.3.md @@ -17,6 +17,7 @@ * [#10059](https://github.com/netbox-community/netbox/issues/10059) - Add identifier column to L2VPN table * [#10089](https://github.com/netbox-community/netbox/issues/10089) - `linkify` template filter should escape object representation * [#10108](https://github.com/netbox-community/netbox/issues/10108) - Linkify inside NAT IPs for primary device IPs in UI +* [#10111](https://github.com/netbox-community/netbox/issues/10111) - Wrap search QS to catch ValueError on identifier field --- diff --git a/netbox/ipam/filtersets.py b/netbox/ipam/filtersets.py index 49ec15fc1..3c0ab1ac8 100644 --- a/netbox/ipam/filtersets.py +++ b/netbox/ipam/filtersets.py @@ -965,7 +965,11 @@ class L2VPNFilterSet(NetBoxModelFilterSet, TenancyFilterSet): def search(self, queryset, name, value): if not value.strip(): return queryset - qs_filter = Q(identifier=value) | Q(name__icontains=value) | Q(description__icontains=value) + qs_filter = Q(name__icontains=value) | Q(description__icontains=value) + try: + qs_filter |= Q(identifier=int(value)) + except ValueError: + pass return queryset.filter(qs_filter) @@ -1071,6 +1075,12 @@ class L2VPNTerminationFilterSet(NetBoxModelFilterSet): qs_filter = Q(l2vpn__name__icontains=value) return queryset.filter(qs_filter) + def filter_assigned_object(self, queryset, name, value): + qs = queryset.filter( + Q(**{'{}__in'.format(name): value}) + ) + return qs + def filter_site(self, queryset, name, value): qs = queryset.filter( Q(