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__ = [
'NestedCircuitSerializer',
'NestedCircuitRedundancyGroupSerializer',
'NestedCircuitGroupSerializer',
'NestedCircuitTerminationSerializer',
'NestedCircuitTypeSerializer',
'NestedProviderNetworkSerializer',
@ -83,8 +83,8 @@ class NestedCircuitTerminationSerializer(WritableNestedSerializer):
fields = ['id', 'url', 'display_url', 'display', 'circuit', 'term_side', 'cable', '_occupied']
class NestedCircuitRedundancyGroupSerializer(WritableNestedSerializer):
class NestedCircuitGroupSerializer(WritableNestedSerializer):
class Meta:
model = CircuitRedundancyGroup
model = CircuitGroup
fields = ['id', 'url', 'display_url', 'display', 'name']

View File

@ -1,7 +1,7 @@
from rest_framework import serializers
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_.sites import SiteSerializer
from netbox.api.fields import ChoiceField, RelatedObjectCountField
@ -12,7 +12,7 @@ from .providers import ProviderAccountSerializer, ProviderNetworkSerializer, Pro
__all__ = (
'CircuitSerializer',
'CircuitRedundancyGroupSerializer',
'CircuitGroupSerializer',
'CircuitTerminationSerializer',
'CircuitTypeSerializer',
)
@ -78,10 +78,10 @@ class CircuitTerminationSerializer(NetBoxModelSerializer, CabledObjectSerializer
brief_fields = ('id', 'url', 'display', 'circuit', 'term_side', 'description', 'cable', '_occupied')
class CircuitRedundancyGroupSerializer(NetBoxModelSerializer):
class CircuitGroupSerializer(NetBoxModelSerializer):
class Meta:
model = CircuitRedundancyGroup
model = CircuitGroup
fields = [
'id', 'url', 'display_url', 'display', 'name',
'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('circuits', views.CircuitViewSet)
router.register('circuit-terminations', views.CircuitTerminationViewSet)
router.register('circuit-redundancy-groups', views.CircuitRedundancyGroupViewSet)
router.register('circuit-redundancy-groups', views.CircuitGroupViewSet)
app_name = 'circuits-api'
urlpatterns = router.urls

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -23,7 +23,7 @@ class Migration(migrations.Migration):
],
),
migrations.CreateModel(
name='CircuitRedundancyGroup',
name='CircuitGroup',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
('created', models.DateTimeField(auto_now_add=True, null=True)),
@ -48,6 +48,6 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='circuitgroupassignment',
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__ = (
'Circuit',
'CircuitGroupAssignment',
'CircuitRedundancyGroup',
'CircuitGroup',
'CircuitTermination',
'CircuitType',
)
@ -153,7 +153,7 @@ class Circuit(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
raise ValidationError({'provider_account': "The assigned account must belong to the assigned provider."})
class CircuitRedundancyGroup(PrimaryModel):
class CircuitGroup(PrimaryModel):
"""
"""
name = models.CharField(
@ -172,12 +172,12 @@ class CircuitRedundancyGroup(PrimaryModel):
verbose_name_plural = _('Circuit redundancy group')
def get_absolute_url(self):
return reverse('circuits:circuitredundancygroup', args=[self.pk])
return reverse('circuits:circuitgroup', args=[self.pk])
class CircuitGroupAssignment(models.Model):
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(
verbose_name=_('priority'),
max_length=50,

View File

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

View File

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

View File

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

View File

@ -56,10 +56,10 @@ urlpatterns = [
path('circuit-terminations/<int:pk>/', include(get_model_urls('circuits', 'circuittermination'))),
# Circuit Redundacy Groups
path('circuit-redundancy-groups/', views.CircuitRedundancyGroupListView.as_view(), name='circuitredundancygroup_list'),
path('circuit-redundancy-groups/add/', views.CircuitRedundancyGroupEditView.as_view(), name='circuitredundancygroup_add'),
path('circuit-redundancy-groups/import/', views.CircuitRedundancyGroupBulkImportView.as_view(), name='circuitredundancygroup_import'),
# path('circuit-redundancy-groups/edit/', views.CircuitRedundancyGroupBulkEditView.as_view(), name='circuitredundancygroup_bulk_edit'),
path('circuit-redundancy-groups/delete/', views.CircuitRedundancyGroupBulkDeleteView.as_view(), name='circuitredundancygroup_bulk_delete'),
path('circuit-redundancy-groups/<int:pk>/', include(get_model_urls('circuits', 'circuitredundancygroup'))),
path('circuit-redundancy-groups/', views.CircuitGroupListView.as_view(), name='circuitgroup_list'),
path('circuit-redundancy-groups/add/', views.CircuitGroupEditView.as_view(), name='circuitgroup_add'),
path('circuit-redundancy-groups/import/', views.CircuitGroupBulkImportView.as_view(), name='circuitgroup_import'),
# path('circuit-redundancy-groups/edit/', views.CircuitGroupBulkEditView.as_view(), name='circuitgroup_bulk_edit'),
path('circuit-redundancy-groups/delete/', views.CircuitGroupBulkDeleteView.as_view(), name='circuitgroup_bulk_delete'),
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
#
class CircuitRedundancyGroupListView(generic.ObjectListView):
queryset = CircuitRedundancyGroup.objects.all()
filterset = filtersets.CircuitRedundancyGroupFilterSet
filterset_form = forms.CircuitRedundancyGroupFilterForm
table = tables.CircuitRedundancyGroupTable
class CircuitGroupListView(generic.ObjectListView):
queryset = CircuitGroup.objects.all()
filterset = filtersets.CircuitGroupFilterSet
filterset_form = forms.CircuitGroupFilterForm
table = tables.CircuitGroupTable
@register_model_view(CircuitRedundancyGroup)
class CircuitRedundancyGroupView(generic.ObjectView):
queryset = CircuitRedundancyGroup.objects.all()
@register_model_view(CircuitGroup)
class CircuitGroupView(generic.ObjectView):
queryset = CircuitGroup.objects.all()
@register_model_view(CircuitRedundancyGroup, 'edit')
class CircuitRedundancyGroupEditView(generic.ObjectEditView):
queryset = CircuitRedundancyGroup.objects.all()
form = forms.CircuitRedundancyGroupForm
@register_model_view(CircuitGroup, 'edit')
class CircuitGroupEditView(generic.ObjectEditView):
queryset = CircuitGroup.objects.all()
form = forms.CircuitGroupForm
@register_model_view(CircuitRedundancyGroup, 'delete')
class CircuitRedundancyGroupDeleteView(generic.ObjectDeleteView):
queryset = CircuitRedundancyGroup.objects.all()
@register_model_view(CircuitGroup, 'delete')
class CircuitGroupDeleteView(generic.ObjectDeleteView):
queryset = CircuitGroup.objects.all()
class CircuitRedundancyGroupBulkImportView(generic.BulkImportView):
queryset = CircuitRedundancyGroup.objects.all()
model_form = forms.CircuitRedundancyGroupImportForm
class CircuitGroupBulkImportView(generic.BulkImportView):
queryset = CircuitGroup.objects.all()
model_form = forms.CircuitGroupImportForm
class CircuitRedundancyGroupBulkDeleteView(generic.BulkDeleteView):
queryset = CircuitRedundancyGroup.objects.all()
filterset = filtersets.CircuitRedundancyGroupFilterSet
table = tables.CircuitRedundancyGroupTable
class CircuitGroupBulkDeleteView(generic.BulkDeleteView):
queryset = CircuitGroup.objects.all()
filterset = filtersets.CircuitGroupFilterSet
table = tables.CircuitGroupTable

View File

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