7025 CircuitRedundancyGroup -> CircuitGroup

This commit is contained in:
Arthur Hanson 2024-07-17 20:24:15 +07:00
parent 65386e5347
commit 4f765766c1
19 changed files with 78 additions and 78 deletions

View File

@ -7,7 +7,7 @@ from netbox.api.serializers import WritableNestedSerializer
__all__ = [ __all__ = [
'NestedCircuitSerializer', 'NestedCircuitSerializer',
'NestedCircuitRedundancyGroupSerializer', 'NestedCircuitGroupSerializer',
'NestedCircuitTerminationSerializer', 'NestedCircuitTerminationSerializer',
'NestedCircuitTypeSerializer', 'NestedCircuitTypeSerializer',
'NestedProviderNetworkSerializer', 'NestedProviderNetworkSerializer',
@ -83,8 +83,8 @@ class NestedCircuitTerminationSerializer(WritableNestedSerializer):
fields = ['id', 'url', 'display_url', 'display', 'circuit', 'term_side', 'cable', '_occupied'] fields = ['id', 'url', 'display_url', 'display', 'circuit', 'term_side', 'cable', '_occupied']
class NestedCircuitRedundancyGroupSerializer(WritableNestedSerializer): class NestedCircuitGroupSerializer(WritableNestedSerializer):
class Meta: class Meta:
model = CircuitRedundancyGroup model = CircuitGroup
fields = ['id', 'url', 'display_url', 'display', 'name'] fields = ['id', 'url', 'display_url', 'display', 'name']

View File

@ -1,7 +1,7 @@
from rest_framework import serializers from rest_framework import serializers
from circuits.choices import CircuitStatusChoices from circuits.choices import CircuitStatusChoices
from circuits.models import Circuit, CircuitRedundancyGroup, CircuitTermination, CircuitType from circuits.models import Circuit, CircuitGroup, CircuitTermination, CircuitType
from dcim.api.serializers_.cables import CabledObjectSerializer from dcim.api.serializers_.cables import CabledObjectSerializer
from dcim.api.serializers_.sites import SiteSerializer from dcim.api.serializers_.sites import SiteSerializer
from netbox.api.fields import ChoiceField, RelatedObjectCountField from netbox.api.fields import ChoiceField, RelatedObjectCountField
@ -12,7 +12,7 @@ from .providers import ProviderAccountSerializer, ProviderNetworkSerializer, Pro
__all__ = ( __all__ = (
'CircuitSerializer', 'CircuitSerializer',
'CircuitRedundancyGroupSerializer', 'CircuitGroupSerializer',
'CircuitTerminationSerializer', 'CircuitTerminationSerializer',
'CircuitTypeSerializer', 'CircuitTypeSerializer',
) )
@ -78,10 +78,10 @@ class CircuitTerminationSerializer(NetBoxModelSerializer, CabledObjectSerializer
brief_fields = ('id', 'url', 'display', 'circuit', 'term_side', 'description', 'cable', '_occupied') brief_fields = ('id', 'url', 'display', 'circuit', 'term_side', 'description', 'cable', '_occupied')
class CircuitRedundancyGroupSerializer(NetBoxModelSerializer): class CircuitGroupSerializer(NetBoxModelSerializer):
class Meta: class Meta:
model = CircuitRedundancyGroup model = CircuitGroup
fields = [ fields = [
'id', 'url', 'display_url', 'display', 'name', 'id', 'url', 'display_url', 'display', 'name',
'tags', 'custom_fields', 'created', 'last_updated', 'tags', 'custom_fields', 'created', 'last_updated',

View File

@ -14,7 +14,7 @@ router.register('provider-networks', views.ProviderNetworkViewSet)
router.register('circuit-types', views.CircuitTypeViewSet) router.register('circuit-types', views.CircuitTypeViewSet)
router.register('circuits', views.CircuitViewSet) router.register('circuits', views.CircuitViewSet)
router.register('circuit-terminations', views.CircuitTerminationViewSet) router.register('circuit-terminations', views.CircuitTerminationViewSet)
router.register('circuit-redundancy-groups', views.CircuitRedundancyGroupViewSet) router.register('circuit-redundancy-groups', views.CircuitGroupViewSet)
app_name = 'circuits-api' app_name = 'circuits-api'
urlpatterns = router.urls urlpatterns = router.urls

View File

@ -59,10 +59,10 @@ class CircuitTerminationViewSet(PassThroughPortMixin, NetBoxModelViewSet):
# Circuits # Circuits
# #
class CircuitRedundancyGroupViewSet(NetBoxModelViewSet): class CircuitGroupViewSet(NetBoxModelViewSet):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
serializer_class = serializers.CircuitRedundancyGroupSerializer serializer_class = serializers.CircuitGroupSerializer
filterset_class = filtersets.CircuitRedundancyGroupFilterSet filterset_class = filtersets.CircuitGroupFilterSet
# #

View File

@ -13,7 +13,7 @@ from .models import *
__all__ = ( __all__ = (
'CircuitFilterSet', 'CircuitFilterSet',
'CircuitRedundancyGroupFilterSet', 'CircuitGroupFilterSet',
'CircuitTerminationFilterSet', 'CircuitTerminationFilterSet',
'CircuitTypeFilterSet', 'CircuitTypeFilterSet',
'ProviderNetworkFilterSet', 'ProviderNetworkFilterSet',
@ -306,10 +306,10 @@ class CircuitTerminationFilterSet(NetBoxModelFilterSet, CabledObjectFilterSet):
).distinct() ).distinct()
class CircuitRedundancyGroupFilterSet(NetBoxModelFilterSet): class CircuitGroupFilterSet(NetBoxModelFilterSet):
class Meta: class Meta:
model = CircuitRedundancyGroup model = CircuitGroup
fields = ('id', 'name',) fields = ('id', 'name',)
def search(self, queryset, name, value): def search(self, queryset, name, value):

View File

@ -11,7 +11,7 @@ from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugFiel
__all__ = ( __all__ = (
'CircuitImportForm', 'CircuitImportForm',
'CircuitRedundancyGroupImportForm', 'CircuitGroupImportForm',
'CircuitTerminationImportForm', 'CircuitTerminationImportForm',
'CircuitTerminationImportRelatedForm', 'CircuitTerminationImportRelatedForm',
'CircuitTypeImportForm', 'CircuitTypeImportForm',
@ -153,8 +153,8 @@ class CircuitTerminationImportForm(NetBoxModelImportForm, BaseCircuitTermination
] ]
class CircuitRedundancyGroupImportForm(NetBoxModelImportForm): class CircuitGroupImportForm(NetBoxModelImportForm):
class Meta: class Meta:
model = CircuitRedundancyGroup model = CircuitGroup
fields = ('name', 'tags') fields = ('name', 'tags')

View File

@ -13,7 +13,7 @@ from utilities.forms.widgets import DatePicker, NumberWithOptions
__all__ = ( __all__ = (
'CircuitFilterForm', 'CircuitFilterForm',
'CircuitRedundancyGroupFilterForm', 'CircuitGroupFilterForm',
'CircuitTerminationFilterForm', 'CircuitTerminationFilterForm',
'CircuitTypeFilterForm', 'CircuitTypeFilterForm',
'ProviderFilterForm', 'ProviderFilterForm',
@ -233,8 +233,8 @@ class CircuitTerminationFilterForm(NetBoxModelFilterSetForm):
tag = TagFilterField(model) tag = TagFilterField(model)
class CircuitRedundancyGroupFilterForm(NetBoxModelFilterSetForm): class CircuitGroupFilterForm(NetBoxModelFilterSetForm):
model = CircuitRedundancyGroup model = CircuitGroup
fieldsets = ( fieldsets = (
FieldSet('q', 'filter_id', 'tag'), FieldSet('q', 'filter_id', 'tag'),
) )

View File

@ -12,7 +12,7 @@ from utilities.forms.widgets import DatePicker, NumberWithOptions
__all__ = ( __all__ = (
'CircuitForm', 'CircuitForm',
'CircuitRedundancyGroupForm', 'CircuitGroupForm',
'CircuitTerminationForm', 'CircuitTerminationForm',
'CircuitTypeForm', 'CircuitTypeForm',
'ProviderForm', 'ProviderForm',
@ -174,11 +174,11 @@ class CircuitTerminationForm(NetBoxModelForm):
} }
class CircuitRedundancyGroupForm(TenancyForm, NetBoxModelForm): class CircuitGroupForm(TenancyForm, NetBoxModelForm):
comments = CommentField() comments = CommentField()
class Meta: class Meta:
model = CircuitRedundancyGroup model = CircuitGroup
fields = [ fields = [
'name', 'tenant_group', 'tenant', 'name', 'tenant_group', 'tenant',
'comments', 'tags', 'comments', 'tags',

View File

@ -7,7 +7,7 @@ from netbox.graphql.filter_mixins import autotype_decorator, BaseFilterMixin
__all__ = ( __all__ = (
'CircuitTerminationFilter', 'CircuitTerminationFilter',
'CircuitFilter', 'CircuitFilter',
'CircuitRedundancyGroupFilter', 'CircuitGroupFilter',
'CircuitTypeFilter', 'CircuitTypeFilter',
'ProviderFilter', 'ProviderFilter',
'ProviderAccountFilter', 'ProviderAccountFilter',
@ -33,9 +33,9 @@ class CircuitTypeFilter(BaseFilterMixin):
pass pass
@strawberry_django.filter(models.CircuitRedundancyGroup, lookups=True) @strawberry_django.filter(models.CircuitGroup, lookups=True)
@autotype_decorator(filtersets.CircuitRedundancyGroupFilterSet) @autotype_decorator(filtersets.CircuitGroupFilterSet)
class CircuitRedundancyGroupFilter(BaseFilterMixin): class CircuitGroupFilter(BaseFilterMixin):
pass pass

View File

@ -25,9 +25,9 @@ class CircuitsQuery:
circuit_type_list: List[CircuitTypeType] = strawberry_django.field() circuit_type_list: List[CircuitTypeType] = strawberry_django.field()
@strawberry.field @strawberry.field
def circuit_redundancy_group(self, id: int) -> CircuitRedundancyGroupType: def circuit_redundancy_group(self, id: int) -> CircuitGroupType:
return models.CircuitRedundancyGroup.objects.get(pk=id) return models.CircuitGroup.objects.get(pk=id)
circuit_redundancy_group_list: List[CircuitRedundancyGroupType] = strawberry_django.field() circuit_redundancy_group_list: List[CircuitGroupType] = strawberry_django.field()
@strawberry.field @strawberry.field
def provider(self, id: int) -> ProviderType: def provider(self, id: int) -> ProviderType:

View File

@ -13,7 +13,7 @@ from .filters import *
__all__ = ( __all__ = (
'CircuitTerminationType', 'CircuitTerminationType',
'CircuitType', 'CircuitType',
'CircuitRedundancyGroupType', 'CircuitGroupType',
'CircuitTypeType', 'CircuitTypeType',
'ProviderType', 'ProviderType',
'ProviderAccountType', 'ProviderAccountType',
@ -95,9 +95,9 @@ class CircuitType(NetBoxObjectType, ContactsMixin):
@strawberry_django.type( @strawberry_django.type(
models.CircuitRedundancyGroup, models.CircuitGroup,
fields='__all__', fields='__all__',
filters=CircuitRedundancyGroupFilter filters=CircuitGroupFilter
) )
class CircuitRedundancyGroupType(CustomFieldsMixin, TagsMixin, ObjectType): class CircuitGroupType(CustomFieldsMixin, TagsMixin, ObjectType):
pass pass

View File

@ -23,7 +23,7 @@ class Migration(migrations.Migration):
], ],
), ),
migrations.CreateModel( migrations.CreateModel(
name='CircuitRedundancyGroup', name='CircuitGroup',
fields=[ fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)), ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
('created', models.DateTimeField(auto_now_add=True, null=True)), ('created', models.DateTimeField(auto_now_add=True, null=True)),
@ -48,6 +48,6 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='circuitgroupassignment', model_name='circuitgroupassignment',
name='group', name='group',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='circuits.circuitredundancygroup'), field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='circuits.circuitgroup'),
), ),
] ]

View File

@ -12,7 +12,7 @@ from utilities.fields import ColorField
__all__ = ( __all__ = (
'Circuit', 'Circuit',
'CircuitGroupAssignment', 'CircuitGroupAssignment',
'CircuitRedundancyGroup', 'CircuitGroup',
'CircuitTermination', 'CircuitTermination',
'CircuitType', 'CircuitType',
) )
@ -153,7 +153,7 @@ class Circuit(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
raise ValidationError({'provider_account': "The assigned account must belong to the assigned provider."}) raise ValidationError({'provider_account': "The assigned account must belong to the assigned provider."})
class CircuitRedundancyGroup(PrimaryModel): class CircuitGroup(PrimaryModel):
""" """
""" """
name = models.CharField( name = models.CharField(
@ -172,12 +172,12 @@ class CircuitRedundancyGroup(PrimaryModel):
verbose_name_plural = _('Circuit redundancy group') verbose_name_plural = _('Circuit redundancy group')
def get_absolute_url(self): def get_absolute_url(self):
return reverse('circuits:circuitredundancygroup', args=[self.pk]) return reverse('circuits:circuitgroup', args=[self.pk])
class CircuitGroupAssignment(models.Model): class CircuitGroupAssignment(models.Model):
circuit = models.ForeignKey(Circuit, on_delete=models.CASCADE) circuit = models.ForeignKey(Circuit, on_delete=models.CASCADE)
group = models.ForeignKey(CircuitRedundancyGroup, on_delete=models.CASCADE) group = models.ForeignKey(CircuitGroup, on_delete=models.CASCADE)
priority = models.CharField( priority = models.CharField(
verbose_name=_('priority'), verbose_name=_('priority'),
max_length=50, max_length=50,

View File

@ -9,7 +9,7 @@ from netbox.tables import NetBoxTable, columns
from .columns import CommitRateColumn from .columns import CommitRateColumn
__all__ = ( __all__ = (
'CircuitRedundancyGroupTable', 'CircuitGroupTable',
'CircuitTable', 'CircuitTable',
'CircuitTerminationTable', 'CircuitTerminationTable',
'CircuitTypeTable', 'CircuitTypeTable',
@ -122,10 +122,10 @@ class CircuitTerminationTable(NetBoxTable):
default_columns = ('pk', 'id', 'circuit', 'provider', 'term_side', 'description') default_columns = ('pk', 'id', 'circuit', 'provider', 'term_side', 'description')
class CircuitRedundancyGroupTable(NetBoxTable): class CircuitGroupTable(NetBoxTable):
class Meta(NetBoxTable.Meta): class Meta(NetBoxTable.Meta):
model = CircuitRedundancyGroup model = CircuitGroup
fields = ( fields = (
'pk', 'name', 'created', 'last_updated', 'actions', 'pk', 'name', 'created', 'last_updated', 'actions',
) )

View File

@ -206,8 +206,8 @@ class CircuitTerminationTest(APIViewTestCases.APIViewTestCase):
} }
class CircuitRedundancyGroupTest(APIViewTestCases.APIViewTestCase): class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
model = CircuitRedundancyGroup model = CircuitGroup
brief_fields = ['name', 'description', 'display', 'id', 'url'] brief_fields = ['name', 'description', 'display', 'id', 'url']
bulk_update_data = { bulk_update_data = {
'status': 'planned', 'status': 'planned',

View File

@ -451,9 +451,9 @@ class CircuitTerminationTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 7) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 7)
class CircuitRedundancyGroupTestCase(TestCase, ChangeLoggedFilterSetTests): class CircuitGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
filterset = CircuitRedundancyGroupFilterSet filterset = CircuitGroupFilterSet
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):

View File

@ -56,10 +56,10 @@ urlpatterns = [
path('circuit-terminations/<int:pk>/', include(get_model_urls('circuits', 'circuittermination'))), path('circuit-terminations/<int:pk>/', include(get_model_urls('circuits', 'circuittermination'))),
# Circuit Redundacy Groups # Circuit Redundacy Groups
path('circuit-redundancy-groups/', views.CircuitRedundancyGroupListView.as_view(), name='circuitredundancygroup_list'), path('circuit-redundancy-groups/', views.CircuitGroupListView.as_view(), name='circuitgroup_list'),
path('circuit-redundancy-groups/add/', views.CircuitRedundancyGroupEditView.as_view(), name='circuitredundancygroup_add'), path('circuit-redundancy-groups/add/', views.CircuitGroupEditView.as_view(), name='circuitgroup_add'),
path('circuit-redundancy-groups/import/', views.CircuitRedundancyGroupBulkImportView.as_view(), name='circuitredundancygroup_import'), path('circuit-redundancy-groups/import/', views.CircuitGroupBulkImportView.as_view(), name='circuitgroup_import'),
# path('circuit-redundancy-groups/edit/', views.CircuitRedundancyGroupBulkEditView.as_view(), name='circuitredundancygroup_bulk_edit'), # path('circuit-redundancy-groups/edit/', views.CircuitGroupBulkEditView.as_view(), name='circuitgroup_bulk_edit'),
path('circuit-redundancy-groups/delete/', views.CircuitRedundancyGroupBulkDeleteView.as_view(), name='circuitredundancygroup_bulk_delete'), path('circuit-redundancy-groups/delete/', views.CircuitGroupBulkDeleteView.as_view(), name='circuitgroup_bulk_delete'),
path('circuit-redundancy-groups/<int:pk>/', include(get_model_urls('circuits', 'circuitredundancygroup'))), path('circuit-redundancy-groups/<int:pk>/', include(get_model_urls('circuits', 'circuitgroup'))),
] ]

View File

@ -446,35 +446,35 @@ register_model_view(CircuitTermination, 'trace', kwargs={'model': CircuitTermina
# Circuit Redundacy Groups # Circuit Redundacy Groups
# #
class CircuitRedundancyGroupListView(generic.ObjectListView): class CircuitGroupListView(generic.ObjectListView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
filterset = filtersets.CircuitRedundancyGroupFilterSet filterset = filtersets.CircuitGroupFilterSet
filterset_form = forms.CircuitRedundancyGroupFilterForm filterset_form = forms.CircuitGroupFilterForm
table = tables.CircuitRedundancyGroupTable table = tables.CircuitGroupTable
@register_model_view(CircuitRedundancyGroup) @register_model_view(CircuitGroup)
class CircuitRedundancyGroupView(generic.ObjectView): class CircuitGroupView(generic.ObjectView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
@register_model_view(CircuitRedundancyGroup, 'edit') @register_model_view(CircuitGroup, 'edit')
class CircuitRedundancyGroupEditView(generic.ObjectEditView): class CircuitGroupEditView(generic.ObjectEditView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
form = forms.CircuitRedundancyGroupForm form = forms.CircuitGroupForm
@register_model_view(CircuitRedundancyGroup, 'delete') @register_model_view(CircuitGroup, 'delete')
class CircuitRedundancyGroupDeleteView(generic.ObjectDeleteView): class CircuitGroupDeleteView(generic.ObjectDeleteView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
class CircuitRedundancyGroupBulkImportView(generic.BulkImportView): class CircuitGroupBulkImportView(generic.BulkImportView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
model_form = forms.CircuitRedundancyGroupImportForm model_form = forms.CircuitGroupImportForm
class CircuitRedundancyGroupBulkDeleteView(generic.BulkDeleteView): class CircuitGroupBulkDeleteView(generic.BulkDeleteView):
queryset = CircuitRedundancyGroup.objects.all() queryset = CircuitGroup.objects.all()
filterset = filtersets.CircuitRedundancyGroupFilterSet filterset = filtersets.CircuitGroupFilterSet
table = tables.CircuitRedundancyGroupTable table = tables.CircuitGroupTable

View File

@ -259,7 +259,7 @@ CIRCUITS_MENU = Menu(
get_model_item('circuits', 'circuit', _('Circuits')), get_model_item('circuits', 'circuit', _('Circuits')),
get_model_item('circuits', 'circuittype', _('Circuit Types')), get_model_item('circuits', 'circuittype', _('Circuit Types')),
get_model_item('circuits', 'circuittermination', _('Circuit Terminations')), get_model_item('circuits', 'circuittermination', _('Circuit Terminations')),
get_model_item('circuits', 'circuitredundancygroup', _('Circuit Redundancy Groups')), get_model_item('circuits', 'circuitgroup', _('Circuit Groups')),
), ),
), ),
MenuGroup( MenuGroup(