From 6f1a84542cc2a78814d6b5cd81b5a5ddcfd4dc9b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 21 Oct 2025 13:05:07 -0400 Subject: [PATCH] Add missing filters --- netbox/extras/filtersets.py | 20 ++++++++++---------- netbox/users/filtersets.py | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index c4e3502c0..fd2476f20 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -62,7 +62,7 @@ class ScriptFilterSet(BaseFilterSet): ) -class WebhookFilterSet(NetBoxModelFilterSet): +class WebhookFilterSet(OwnerFilterMixin, NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -91,7 +91,7 @@ class WebhookFilterSet(NetBoxModelFilterSet): ) -class EventRuleFilterSet(NetBoxModelFilterSet): +class EventRuleFilterSet(OwnerFilterMixin, NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -131,7 +131,7 @@ class EventRuleFilterSet(NetBoxModelFilterSet): return queryset.filter(event_types__overlap=value) -class CustomFieldFilterSet(ChangeLoggedModelFilterSet): +class CustomFieldFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -180,7 +180,7 @@ class CustomFieldFilterSet(ChangeLoggedModelFilterSet): ) -class CustomFieldChoiceSetFilterSet(ChangeLoggedModelFilterSet): +class CustomFieldChoiceSetFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -208,7 +208,7 @@ class CustomFieldChoiceSetFilterSet(ChangeLoggedModelFilterSet): return queryset.filter(extra_choices__overlap=value) -class CustomLinkFilterSet(ChangeLoggedModelFilterSet): +class CustomLinkFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -238,7 +238,7 @@ class CustomLinkFilterSet(ChangeLoggedModelFilterSet): ) -class ExportTemplateFilterSet(ChangeLoggedModelFilterSet): +class ExportTemplateFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -276,7 +276,7 @@ class ExportTemplateFilterSet(ChangeLoggedModelFilterSet): ) -class SavedFilterFilterSet(ChangeLoggedModelFilterSet): +class SavedFilterFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -495,7 +495,7 @@ class JournalEntryFilterSet(NetBoxModelFilterSet): return queryset.filter(comments__icontains=value) -class TagFilterSet(ChangeLoggedModelFilterSet): +class TagFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -590,7 +590,7 @@ class TaggedItemFilterSet(BaseFilterSet): ) -class ConfigContextProfileFilterSet(NetBoxModelFilterSet): +class ConfigContextProfileFilterSet(OwnerFilterMixin, NetBoxModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), @@ -789,7 +789,7 @@ class ConfigContextFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): ) -class ConfigTemplateFilterSet(ChangeLoggedModelFilterSet): +class ConfigTemplateFilterSet(OwnerFilterMixin, ChangeLoggedModelFilterSet): q = django_filters.CharFilter( method='search', label=_('Search'), diff --git a/netbox/users/filtersets.py b/netbox/users/filtersets.py index 8d9abd3dc..f94681443 100644 --- a/netbox/users/filtersets.py +++ b/netbox/users/filtersets.py @@ -28,6 +28,17 @@ class GroupFilterSet(BaseFilterSet): queryset=User.objects.all(), label=_('User (ID)'), ) + owner_id = django_filters.ModelMultipleChoiceFilter( + field_name='owner', + queryset=Owner.objects.all(), + label=_('Owner (ID)'), + ) + owner = django_filters.ModelMultipleChoiceFilter( + field_name='owner__name', + queryset=Owner.objects.all(), + to_field_name='name', + label=_('Owner (name)'), + ) permission_id = django_filters.ModelMultipleChoiceFilter( field_name='object_permissions', queryset=ObjectPermission.objects.all(), @@ -68,6 +79,17 @@ class UserFilterSet(BaseFilterSet): to_field_name='name', label=_('Group (name)'), ) + owner_id = django_filters.ModelMultipleChoiceFilter( + field_name='owner', + queryset=Owner.objects.all(), + label=_('Owner (ID)'), + ) + owner = django_filters.ModelMultipleChoiceFilter( + field_name='owner__name', + queryset=Owner.objects.all(), + to_field_name='name', + label=_('Owner (name)'), + ) permission_id = django_filters.ModelMultipleChoiceFilter( field_name='object_permissions', queryset=ObjectPermission.objects.all(),