Skip to content

Commit

Permalink
Stopping point linter and viewset updates (#471)
Browse files Browse the repository at this point in the history
* Stopping point linter and viewset updates

* More updates

* pylint updates

* Update nautobot_golden_config/templates/nautobot_golden_config/compliancefeature_retrieve.html

Co-authored-by: Jeff Kala <48843785+jeffkala@users.noreply.github.com>

---------

Co-authored-by: Jeff Kala <48843785+jeffkala@users.noreply.github.com>
  • Loading branch information
itdependsnetworks and jeffkala committed Apr 28, 2023
1 parent 3c8841d commit adf575b
Show file tree
Hide file tree
Showing 21 changed files with 290 additions and 841 deletions.
17 changes: 9 additions & 8 deletions nautobot_golden_config/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
# pylint: disable=too-many-ancestors
from rest_framework import serializers

from nautobot.extras.api.customfields import CustomFieldModelSerializer
from nautobot.extras.api.serializers import TaggedObjectSerializer
from nautobot.extras.api.nested_serializers import NestedDynamicGroupSerializer
from nautobot.dcim.api.serializers import DeviceSerializer
from nautobot.dcim.models import Device
from nautobot.extras.api.serializers import NautobotModelSerializer


from nautobot_golden_config import models
from nautobot_golden_config.utilities.config_postprocessing import get_config_postprocessing
Expand All @@ -18,7 +19,7 @@ class GraphQLSerializer(serializers.Serializer): # pylint: disable=abstract-met
data = serializers.JSONField()


class ComplianceFeatureSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class ComplianceFeatureSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for ComplianceFeature object."""

url = serializers.HyperlinkedIdentityField(
Expand All @@ -32,7 +33,7 @@ class Meta:
fields = "__all__"


class ComplianceRuleSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class ComplianceRuleSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for ComplianceRule object."""

url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_golden_config-api:compliancerule-detail")
Expand All @@ -44,7 +45,7 @@ class Meta:
fields = "__all__"


class ConfigComplianceSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class ConfigComplianceSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for ConfigCompliance object."""

class Meta:
Expand All @@ -54,7 +55,7 @@ class Meta:
fields = "__all__"


class GoldenConfigSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class GoldenConfigSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for GoldenConfig object."""

url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_golden_config-api:goldenconfig-detail")
Expand All @@ -66,7 +67,7 @@ class Meta:
fields = "__all__"


class GoldenConfigSettingSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class GoldenConfigSettingSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for GoldenConfigSetting object."""

url = serializers.HyperlinkedIdentityField(
Expand Down Expand Up @@ -107,7 +108,7 @@ def create(self, validated_data):
return setting


class ConfigRemoveSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class ConfigRemoveSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for ConfigRemove object."""

url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_golden_config-api:configremove-detail")
Expand All @@ -119,7 +120,7 @@ class Meta:
fields = "__all__"


class ConfigReplaceSerializer(TaggedObjectSerializer, CustomFieldModelSerializer):
class ConfigReplaceSerializer(NautobotModelSerializer, TaggedObjectSerializer):
"""Serializer for ConfigReplace object."""

url = serializers.HyperlinkedIdentityField(view_name="plugins-api:nautobot_golden_config-api:configreplace-detail")
Expand Down
16 changes: 8 additions & 8 deletions nautobot_golden_config/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from rest_framework.permissions import AllowAny, IsAuthenticated, BasePermission
from rest_framework import mixins, viewsets

from nautobot.extras.api.views import CustomFieldModelViewSet
from nautobot.extras.api.views import NautobotModelViewSet
from nautobot.dcim.models import Device


Expand Down Expand Up @@ -40,55 +40,55 @@ def get(self, request, *args, **kwargs):
return Response(serializers.GraphQLSerializer(data=data).initial_data, status=status_code)


class ComplianceRuleViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class ComplianceRuleViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with ComplianceRule objects."""

queryset = models.ComplianceRule.objects.all()
serializer_class = serializers.ComplianceRuleSerializer
filterset_class = filters.ComplianceRuleFilterSet


class ComplianceFeatureViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class ComplianceFeatureViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with ComplianceFeature objects."""

queryset = models.ComplianceFeature.objects.all()
serializer_class = serializers.ComplianceFeatureSerializer
filterset_class = filters.ComplianceFeatureFilterSet


class ConfigComplianceViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class ConfigComplianceViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with ConfigCompliance objects."""

queryset = models.ConfigCompliance.objects.all()
serializer_class = serializers.ConfigComplianceSerializer
filterset_class = filters.ConfigComplianceFilterSet


class GoldenConfigViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class GoldenConfigViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with GoldenConfig objects."""

queryset = models.GoldenConfig.objects.all()
serializer_class = serializers.GoldenConfigSerializer
filterset_class = filters.GoldenConfigFilterSet


class GoldenConfigSettingViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class GoldenConfigSettingViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with GoldenConfigSetting objects."""

queryset = models.GoldenConfigSetting.objects.all()
serializer_class = serializers.GoldenConfigSettingSerializer
filterset_class = filters.GoldenConfigSettingFilterSet


class ConfigRemoveViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class ConfigRemoveViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with ConfigRemove objects."""

queryset = models.ConfigRemove.objects.all()
serializer_class = serializers.ConfigRemoveSerializer
filterset_class = filters.ConfigRemoveFilterSet


class ConfigReplaceViewSet(CustomFieldModelViewSet): # pylint:disable=too-many-ancestors
class ConfigReplaceViewSet(NautobotModelViewSet): # pylint:disable=too-many-ancestors
"""API viewset for interacting with ConfigReplace objects."""

queryset = models.ConfigReplace.objects.all()
Expand Down
77 changes: 42 additions & 35 deletions nautobot_golden_config/forms.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Forms for Device Configuration Backup."""
# pylint: disable=too-many-ancestors

from django import forms

Expand All @@ -8,14 +9,15 @@
from nautobot.extras.models import Status, GitRepository, DynamicGroup
from nautobot.tenancy.models import Tenant, TenantGroup
from nautobot.utilities.forms import SlugField
from nautobot.extras.forms import NautobotFilterForm, NautobotBulkEditForm, NautobotModelForm


from nautobot_golden_config import models

# ConfigCompliance


class ConfigComplianceFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class ConfigComplianceFilterForm(NautobotFilterForm):
"""Filter Form for ConfigCompliance instances."""

model = models.ConfigCompliance
Expand Down Expand Up @@ -104,9 +106,7 @@ def __init__(self, *args, **kwargs):
# ComplianceRule


class ComplianceRuleForm(
utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFormMixin, extras_forms.RelationshipModelFormMixin
):
class ComplianceRuleForm(NautobotModelForm):
"""Filter Form for ComplianceRule instances."""

platform = utilities_forms.DynamicModelChoiceField(queryset=Platform.objects.all())
Expand All @@ -125,7 +125,7 @@ class Meta:
)


class ComplianceRuleFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class ComplianceRuleFilterForm(NautobotFilterForm):
"""Form for ComplianceRule instances."""

model = models.ComplianceRule
Expand All @@ -140,9 +140,7 @@ class ComplianceRuleFilterForm(utilities_forms.BootstrapMixin, extras_forms.Cust
)


class ComplianceRuleBulkEditForm(
utilities_forms.BootstrapMixin, extras_forms.TagsBulkEditFormMixin, extras_forms.CustomFieldModelBulkEditFormMixin
):
class ComplianceRuleBulkEditForm(NautobotBulkEditForm):
"""BulkEdit form for ComplianceRule instances."""

pk = forms.ModelMultipleChoiceField(queryset=models.ComplianceRule.objects.all(), widget=forms.MultipleHiddenInput)
Expand All @@ -166,9 +164,7 @@ class Meta:
# ComplianceFeature


class ComplianceFeatureForm(
utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFormMixin, extras_forms.RelationshipModelFormMixin
):
class ComplianceFeatureForm(NautobotModelForm):
"""Filter Form for ComplianceFeature instances."""

slug = SlugField()
Expand All @@ -180,17 +176,15 @@ class Meta:
fields = ("name", "slug", "description")


class ComplianceFeatureFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class ComplianceFeatureFilterForm(NautobotFilterForm):
"""Form for ComplianceFeature instances."""

model = models.ComplianceFeature
q = forms.CharField(required=False, label="Search")
name = utilities_forms.DynamicModelChoiceField(queryset=models.ComplianceFeature.objects.all(), required=False)


class ComplianceFeatureBulkEditForm(
utilities_forms.BootstrapMixin, extras_forms.TagsBulkEditFormMixin, extras_forms.CustomFieldModelBulkEditFormMixin
):
class ComplianceFeatureBulkEditForm(NautobotBulkEditForm):
"""BulkEdit form for ComplianceFeature instances."""

pk = forms.ModelMultipleChoiceField(
Expand All @@ -216,9 +210,7 @@ class Meta:
# ConfigRemove


class ConfigRemoveForm(
utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFormMixin, extras_forms.RelationshipModelFormMixin
):
class ConfigRemoveForm(NautobotModelForm):
"""Filter Form for Line Removal instances."""

platform = utilities_forms.DynamicModelChoiceField(queryset=Platform.objects.all())
Expand All @@ -235,7 +227,7 @@ class Meta:
)


class ConfigRemoveFeatureFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class ConfigRemoveFilterForm(NautobotFilterForm):
"""Filter Form for Line Removal."""

model = models.ConfigRemove
Expand All @@ -247,9 +239,7 @@ class ConfigRemoveFeatureFilterForm(utilities_forms.BootstrapMixin, extras_forms
)


class ConfigRemoveBulkEditForm(
utilities_forms.BootstrapMixin, extras_forms.TagsBulkEditFormMixin, extras_forms.CustomFieldModelBulkEditFormMixin
):
class ConfigRemoveBulkEditForm(NautobotBulkEditForm):
"""BulkEdit form for ConfigRemove instances."""

pk = forms.ModelMultipleChoiceField(queryset=models.ConfigRemove.objects.all(), widget=forms.MultipleHiddenInput)
Expand All @@ -273,9 +263,7 @@ class Meta:
# ConfigReplace


class ConfigReplaceForm(
utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFormMixin, extras_forms.RelationshipModelFormMixin
):
class ConfigReplaceForm(NautobotModelForm):
"""Filter Form for Line Removal instances."""

platform = utilities_forms.DynamicModelChoiceField(queryset=Platform.objects.all())
Expand All @@ -293,7 +281,7 @@ class Meta:
)


class ConfigReplaceFeatureFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class ConfigReplaceFilterForm(NautobotFilterForm):
"""Filter Form for Line Replacement."""

model = models.ConfigReplace
Expand All @@ -316,9 +304,7 @@ class Meta:
fields = models.ConfigReplace.csv_headers


class ConfigReplaceBulkEditForm(
utilities_forms.BootstrapMixin, extras_forms.TagsBulkEditFormMixin, extras_forms.CustomFieldModelBulkEditFormMixin
):
class ConfigReplaceBulkEditForm(NautobotBulkEditForm):
"""BulkEdit form for ConfigReplace instances."""

pk = forms.ModelMultipleChoiceField(queryset=models.ConfigReplace.objects.all(), widget=forms.MultipleHiddenInput)
Expand All @@ -332,16 +318,14 @@ class Meta:
# GoldenConfigSetting


class GoldenConfigSettingFeatureForm(
utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFormMixin, extras_forms.RelationshipModelFormMixin
):
"""Filter Form for GoldenConfigSettingFeatureForm instances."""
class GoldenConfigSettingForm(NautobotModelForm):
"""Filter Form for GoldenConfigSettingForm instances."""

slug = SlugField()
dynamic_group = utilities_forms.DynamicModelChoiceField(queryset=DynamicGroup.objects.all(), required=False)

class Meta:
"""Filter Form Meta Data for GoldenConfigSettingFeatureForm instances."""
"""Filter Form Meta Data for GoldenConfigSettingForm instances."""

model = models.GoldenConfigSetting
fields = (
Expand All @@ -362,7 +346,7 @@ class Meta:
)


class GoldenConfigSettingFilterForm(utilities_forms.BootstrapMixin, extras_forms.CustomFieldModelFilterFormMixin):
class GoldenConfigSettingFilterForm(NautobotFilterForm):
"""Form for GoldenConfigSetting instances."""

model = models.GoldenConfigSetting
Expand All @@ -382,3 +366,26 @@ class GoldenConfigSettingFilterForm(utilities_forms.BootstrapMixin, extras_forms
queryset=GitRepository.objects.filter(provided_contents__contains="nautobot_golden_config.jinjatemplate"),
required=False,
)


class GoldenConfigSettingCSVForm(extras_forms.CustomFieldModelCSVForm):
"""CSV Form for GoldenConfigSetting instances."""

class Meta:
"""Boilerplate form Meta data for GoldenConfigSetting."""

model = models.GoldenConfigSetting
fields = models.GoldenConfigSetting.csv_headers


class GoldenConfigSettingBulkEditForm(NautobotBulkEditForm):
"""BulkEdit form for GoldenConfigSetting instances."""

pk = forms.ModelMultipleChoiceField(
queryset=models.GoldenConfigSetting.objects.all(), widget=forms.MultipleHiddenInput
)

class Meta:
"""Boilerplate form Meta data for GoldenConfigSetting."""

nullable_fields = []

0 comments on commit adf575b

Please sign in to comment.