From 9c53f76d9e304e92abef76bf61d2942dc7c097bf Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 13 Mar 2024 13:37:17 -0700 Subject: [PATCH] 9856 fix tenancy, ipam filter definitions --- netbox/ipam/graphql/filters.py | 3 ++- netbox/netbox/graphql/filter_mixins.py | 5 +++++ netbox/tenancy/filtersets.py | 3 +-- netbox/tenancy/graphql/filters.py | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/netbox/ipam/graphql/filters.py b/netbox/ipam/graphql/filters.py index 6031cfe07..dcc3ce4bf 100644 --- a/netbox/ipam/graphql/filters.py +++ b/netbox/ipam/graphql/filters.py @@ -25,14 +25,15 @@ __all__ = ( ) -# bug - fixme! @strawberry_django.filter(models.ASN, lookups=True) +@autotype_decorator(filtersets.ASNFilterSet) class ASNFilter(BaseFilterMixin): pass # bug - fixme! @strawberry_django.filter(models.ASNRange, lookups=True) +@autotype_decorator(filtersets.ASNRangeFilterSet) class ASNRangeFilter(BaseFilterMixin): pass diff --git a/netbox/netbox/graphql/filter_mixins.py b/netbox/netbox/graphql/filter_mixins.py index f50ff23ed..392ea55bb 100644 --- a/netbox/netbox/graphql/filter_mixins.py +++ b/netbox/netbox/graphql/filter_mixins.py @@ -5,6 +5,7 @@ import django_filters import strawberry import strawberry_django from strawberry import auto +from ipam.fields import ASNField from netbox.graphql.scalars import BigInt from utilities.fields import ColorField, CounterCacheField from utilities.filters import * @@ -39,7 +40,11 @@ def autotype_decorator(filterset): if isinstance(field, CounterCacheField): create_function = True attr_type = BigInt + elif isinstance(field, ASNField): + create_function = True + attr_type = List[str] | None elif isinstance(field, ColorField): + create_function = True attr_type = List[str] | None create_attribute_and_function(cls, fieldname, attr_type, create_function) diff --git a/netbox/tenancy/filtersets.py b/netbox/tenancy/filtersets.py index a7c52d3fb..75096b00e 100644 --- a/netbox/tenancy/filtersets.py +++ b/netbox/tenancy/filtersets.py @@ -127,11 +127,10 @@ class ContactAssignmentFilterSet(NetBoxModelFilterSet): to_field_name='slug', label=_('Contact role (slug)'), ) - tag = TagFilter() class Meta: model = ContactAssignment - fields = ('id', 'object_type_id', 'object_id', 'priority', 'tag') + fields = ('id', 'object_type_id', 'object_id', 'priority') def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/tenancy/graphql/filters.py b/netbox/tenancy/graphql/filters.py index bb710e7fd..a9e0656ca 100644 --- a/netbox/tenancy/graphql/filters.py +++ b/netbox/tenancy/graphql/filters.py @@ -44,7 +44,7 @@ class ContactGroupFilter(BaseFilterMixin): pass -# bug - fixme! @strawberry_django.filter(models.ContactAssignment, lookups=True) +@autotype_decorator(filtersets.ContactAssignmentFilterSet) class ContactAssignmentFilter(BaseFilterMixin): pass