From 9a38586e13375584bf82f2b5ae92348ef2df3626 Mon Sep 17 00:00:00 2001 From: John Anderson Date: Mon, 16 Mar 2020 11:58:35 -0400 Subject: [PATCH] rename FeatureQuery class --- netbox/extras/api/serializers.py | 6 +++--- .../migrations/0039_update_features_content_types.py | 10 +++++----- netbox/extras/models.py | 12 ++++++------ netbox/extras/tests/test_api.py | 4 ++-- netbox/extras/tests/test_filters.py | 6 +++--- netbox/extras/utils.py | 6 +++--- netbox/extras/webhooks.py | 4 ++-- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index 567beedb0..41ddb8d8b 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -13,7 +13,7 @@ from extras.constants import * from extras.models import ( ConfigContext, ExportTemplate, Graph, ImageAttachment, ObjectChange, ReportResult, Tag, ) -from extras.utils import FeatureQuerySet +from extras.utils import FeatureQuery from tenancy.api.nested_serializers import NestedTenantSerializer, NestedTenantGroupSerializer from tenancy.models import Tenant, TenantGroup from users.api.nested_serializers import NestedUserSerializer @@ -32,7 +32,7 @@ from .nested_serializers import * class GraphSerializer(ValidatedModelSerializer): type = ContentTypeField( - queryset=ContentType.objects.filter(FeatureQuerySet('graphs').get_queryset()), + queryset=ContentType.objects.filter(FeatureQuery('graphs').get_query()), ) class Meta: @@ -68,7 +68,7 @@ class RenderedGraphSerializer(serializers.ModelSerializer): class ExportTemplateSerializer(ValidatedModelSerializer): content_type = ContentTypeField( - queryset=ContentType.objects.filter(FeatureQuerySet('export_templates').get_queryset()), + queryset=ContentType.objects.filter(FeatureQuery('export_templates').get_query()), ) template_language = ChoiceField( choices=TemplateLanguageChoices, diff --git a/netbox/extras/migrations/0039_update_features_content_types.py b/netbox/extras/migrations/0039_update_features_content_types.py index c347b1198..8747fcc16 100644 --- a/netbox/extras/migrations/0039_update_features_content_types.py +++ b/netbox/extras/migrations/0039_update_features_content_types.py @@ -15,26 +15,26 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='customfield', name='obj_type', - field=models.ManyToManyField(limit_choices_to=extras.utils.FeatureQuerySet('custom_fields'), related_name='custom_fields', to='contenttypes.ContentType'), + field=models.ManyToManyField(limit_choices_to=extras.utils.FeatureQuery('custom_fields'), related_name='custom_fields', to='contenttypes.ContentType'), ), migrations.AlterField( model_name='customlink', name='content_type', - field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuerySet('custom_links'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), + field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuery('custom_links'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), ), migrations.AlterField( model_name='exporttemplate', name='content_type', - field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuerySet('export_templates'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), + field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuery('export_templates'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), ), migrations.AlterField( model_name='graph', name='type', - field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuerySet('graphs'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), + field=models.ForeignKey(limit_choices_to=extras.utils.FeatureQuery('graphs'), on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'), ), migrations.AlterField( model_name='webhook', name='obj_type', - field=models.ManyToManyField(limit_choices_to=extras.utils.FeatureQuerySet('webhooks'), related_name='webhooks', to='contenttypes.ContentType'), + field=models.ManyToManyField(limit_choices_to=extras.utils.FeatureQuery('webhooks'), related_name='webhooks', to='contenttypes.ContentType'), ), ] diff --git a/netbox/extras/models.py b/netbox/extras/models.py index 21809c35b..97d681b00 100644 --- a/netbox/extras/models.py +++ b/netbox/extras/models.py @@ -22,7 +22,7 @@ from utilities.utils import deepmerge, render_jinja2 from .choices import * from .constants import * from .querysets import ConfigContextQuerySet -from .utils import FeatureQuerySet +from .utils import FeatureQuery __all__ = ( @@ -59,7 +59,7 @@ class Webhook(models.Model): to=ContentType, related_name='webhooks', verbose_name='Object types', - limit_choices_to=FeatureQuerySet('webhooks'), + limit_choices_to=FeatureQuery('webhooks'), help_text="The object(s) to which this Webhook applies." ) name = models.CharField( @@ -224,7 +224,7 @@ class CustomField(models.Model): to=ContentType, related_name='custom_fields', verbose_name='Object(s)', - limit_choices_to=FeatureQuerySet('custom_fields'), + limit_choices_to=FeatureQuery('custom_fields'), help_text='The object(s) to which this field applies.' ) type = models.CharField( @@ -471,7 +471,7 @@ class CustomLink(models.Model): content_type = models.ForeignKey( to=ContentType, on_delete=models.CASCADE, - limit_choices_to=FeatureQuerySet('custom_links') + limit_choices_to=FeatureQuery('custom_links') ) name = models.CharField( max_length=100, @@ -519,7 +519,7 @@ class Graph(models.Model): type = models.ForeignKey( to=ContentType, on_delete=models.CASCADE, - limit_choices_to=FeatureQuerySet('graphs') + limit_choices_to=FeatureQuery('graphs') ) weight = models.PositiveSmallIntegerField( default=1000 @@ -582,7 +582,7 @@ class ExportTemplate(models.Model): content_type = models.ForeignKey( to=ContentType, on_delete=models.CASCADE, - limit_choices_to=FeatureQuerySet('export_templates') + limit_choices_to=FeatureQuery('export_templates') ) name = models.CharField( max_length=100 diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index 773314942..ad1b9d349 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -10,7 +10,7 @@ from extras.api.views import ScriptViewSet from extras.choices import * from extras.models import ConfigContext, Graph, ExportTemplate, Tag from extras.scripts import BooleanVar, IntegerVar, Script, StringVar -from extras.utils import FeatureQuerySet +from extras.utils import FeatureQuery from tenancy.models import Tenant, TenantGroup from utilities.testing import APITestCase, choices_to_dict @@ -35,7 +35,7 @@ class AppTest(APITestCase): self.assertEqual(choices_to_dict(response.data.get('export-template:template_language')), TemplateLanguageChoices.as_dict()) # Graph - content_types = ContentType.objects.filter(FeatureQuerySet('graphs').get_queryset()) + content_types = ContentType.objects.filter(FeatureQuery('graphs').get_query()) graph_type_choices = { "{}.{}".format(ct.app_label, ct.model): ct.name for ct in content_types } diff --git a/netbox/extras/tests/test_filters.py b/netbox/extras/tests/test_filters.py index e507e4034..e18574866 100644 --- a/netbox/extras/tests/test_filters.py +++ b/netbox/extras/tests/test_filters.py @@ -4,7 +4,7 @@ from django.test import TestCase from dcim.models import DeviceRole, Platform, Region, Site from extras.choices import * from extras.filters import * -from extras.utils import FeatureQuerySet +from extras.utils import FeatureQuery from extras.models import ConfigContext, ExportTemplate, Graph from tenancy.models import Tenant, TenantGroup from virtualization.models import Cluster, ClusterGroup, ClusterType @@ -18,7 +18,7 @@ class GraphTestCase(TestCase): def setUpTestData(cls): # Get the first three available types - content_types = ContentType.objects.filter(FeatureQuerySet('graphs').get_queryset())[:3] + content_types = ContentType.objects.filter(FeatureQuery('graphs').get_query())[:3] graphs = ( Graph(name='Graph 1', type=content_types[0], template_language=TemplateLanguageChoices.LANGUAGE_DJANGO, source='http://example.com/1'), @@ -32,7 +32,7 @@ class GraphTestCase(TestCase): self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) def test_type(self): - content_type = ContentType.objects.filter(FeatureQuerySet('graphs').get_queryset()).first() + content_type = ContentType.objects.filter(FeatureQuery('graphs').get_query()).first() params = {'type': content_type.pk} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) diff --git a/netbox/extras/utils.py b/netbox/extras/utils.py index 5edf3f562..5ae16bff9 100644 --- a/netbox/extras/utils.py +++ b/netbox/extras/utils.py @@ -42,7 +42,7 @@ registry = Registry() @deconstructible -class FeatureQuerySet: +class FeatureQuery: """ Helper class that delays evaluation of the registry contents for the functionaility store until it has been populated. @@ -52,9 +52,9 @@ class FeatureQuerySet: self.feature = feature def __call__(self): - return self.get_queryset() + return self.get_query() - def get_queryset(self): + def get_query(self): """ Given an extras feature, return a Q object for content type lookup """ diff --git a/netbox/extras/webhooks.py b/netbox/extras/webhooks.py index f1a3391a0..d1d5a59ab 100644 --- a/netbox/extras/webhooks.py +++ b/netbox/extras/webhooks.py @@ -8,7 +8,7 @@ from extras.models import Webhook from utilities.api import get_serializer_for_model from .choices import * from .constants import * -from .utils import FeatureQuerySet +from .utils import FeatureQuery def generate_signature(request_body, secret): @@ -30,7 +30,7 @@ def enqueue_webhooks(instance, user, request_id, action): """ obj_type = ContentType.objects.get_for_model(instance.__class__) - webhook_models = ContentType.objects.filter(FeatureQuerySet('webhooks').get_queryset()) + webhook_models = ContentType.objects.filter(FeatureQuery('webhooks').get_query()) if obj_type not in webhook_models: return