From 6db878743cbd6db21f55ffd157840e2a897f3f8f Mon Sep 17 00:00:00 2001 From: Djothi Carpentier Date: Thu, 24 Feb 2022 17:07:17 +0100 Subject: [PATCH] Add description filter for CustomField, ExportTemplate & Tag --- netbox/extras/filtersets.py | 6 +++--- netbox/extras/tests/test_filtersets.py | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/netbox/extras/filtersets.py b/netbox/extras/filtersets.py index 6867e598e..07b947e52 100644 --- a/netbox/extras/filtersets.py +++ b/netbox/extras/filtersets.py @@ -62,7 +62,7 @@ class CustomFieldFilterSet(BaseFilterSet): class Meta: model = CustomField - fields = ['id', 'content_types', 'name', 'required', 'filter_logic', 'weight'] + fields = ['id', 'content_types', 'name', 'required', 'filter_logic', 'weight', 'description'] def search(self, queryset, name, value): if not value.strip(): @@ -103,7 +103,7 @@ class ExportTemplateFilterSet(BaseFilterSet): class Meta: model = ExportTemplate - fields = ['id', 'content_type', 'name'] + fields = ['id', 'content_type', 'name', 'description'] def search(self, queryset, name, value): if not value.strip(): @@ -177,7 +177,7 @@ class TagFilterSet(ChangeLoggedModelFilterSet): class Meta: model = Tag - fields = ['id', 'name', 'slug', 'color'] + fields = ['id', 'name', 'slug', 'color', 'description'] def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/extras/tests/test_filtersets.py b/netbox/extras/tests/test_filtersets.py index 975fe7d7e..c94fb4998 100644 --- a/netbox/extras/tests/test_filtersets.py +++ b/netbox/extras/tests/test_filtersets.py @@ -153,8 +153,8 @@ class ExportTemplateTestCase(TestCase, BaseFilterSetTests): content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device']) export_templates = ( - ExportTemplate(name='Export Template 1', content_type=content_types[0], template_code='TESTING'), - ExportTemplate(name='Export Template 2', content_type=content_types[1], template_code='TESTING'), + ExportTemplate(name='Export Template 1', content_type=content_types[0], template_code='TESTING', description='foobar1'), + ExportTemplate(name='Export Template 2', content_type=content_types[1], template_code='TESTING', description='foobar2'), ExportTemplate(name='Export Template 3', content_type=content_types[2], template_code='TESTING'), ) ExportTemplate.objects.bulk_create(export_templates) @@ -167,6 +167,10 @@ class ExportTemplateTestCase(TestCase, BaseFilterSetTests): params = {'content_type': ContentType.objects.get(model='site').pk} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + def test_description(self): + params = {'description': ['foobar1', 'foobar2']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + class ImageAttachmentTestCase(TestCase, BaseFilterSetTests): queryset = ImageAttachment.objects.all() @@ -542,8 +546,8 @@ class TagTestCase(TestCase, ChangeLoggedFilterSetTests): def setUpTestData(cls): tags = ( - Tag(name='Tag 1', slug='tag-1', color='ff0000'), - Tag(name='Tag 2', slug='tag-2', color='00ff00'), + Tag(name='Tag 1', slug='tag-1', color='ff0000', description='foobar1'), + Tag(name='Tag 2', slug='tag-2', color='00ff00', description='foobar2'), Tag(name='Tag 3', slug='tag-3', color='0000ff'), ) Tag.objects.bulk_create(tags) @@ -567,6 +571,10 @@ class TagTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'color': ['ff0000', '00ff00']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_description(self): + params = {'description': ['foobar1', 'foobar2']} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_content_type(self): params = {'content_type': ['dcim.site', 'circuits.provider']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)