From 128b6a9c04fc3c964d9e96895751d2c9ea37eb61 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Aug 2025 16:24:00 -0400 Subject: [PATCH] #19231: Add bulk rename support for virtual circuits --- netbox/circuits/urls.py | 6 +----- netbox/circuits/views.py | 7 ++++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/netbox/circuits/urls.py b/netbox/circuits/urls.py index 90e9e511f..594570638 100644 --- a/netbox/circuits/urls.py +++ b/netbox/circuits/urls.py @@ -35,11 +35,7 @@ urlpatterns = [ path('circuit-group-assignments//', include(get_model_urls('circuits', 'circuitgroupassignment'))), # Virtual circuits - path('virtual-circuits/', views.VirtualCircuitListView.as_view(), name='virtualcircuit_list'), - path('virtual-circuits/add/', views.VirtualCircuitEditView.as_view(), name='virtualcircuit_add'), - path('virtual-circuits/import/', views.VirtualCircuitBulkImportView.as_view(), name='virtualcircuit_bulk_import'), - path('virtual-circuits/edit/', views.VirtualCircuitBulkEditView.as_view(), name='virtualcircuit_bulk_edit'), - path('virtual-circuits/delete/', views.VirtualCircuitBulkDeleteView.as_view(), name='virtualcircuit_bulk_delete'), + path('virtual-circuits/', include(get_model_urls('circuits', 'virtualcircuit', detail=False))), path('virtual-circuits//', include(get_model_urls('circuits', 'virtualcircuit'))), path('virtual-circuit-types/', include(get_model_urls('circuits', 'virtualcircuittype', detail=False))), diff --git a/netbox/circuits/views.py b/netbox/circuits/views.py index 8670b8535..89ec03831 100644 --- a/netbox/circuits/views.py +++ b/netbox/circuits/views.py @@ -687,6 +687,7 @@ class VirtualCircuitTypeBulkDeleteView(generic.BulkDeleteView): # Virtual circuits # +@register_model_view(VirtualCircuit, 'list', path='', detail=False) class VirtualCircuitListView(generic.ObjectListView): queryset = VirtualCircuit.objects.annotate( termination_count=count_related(VirtualCircuitTermination, 'virtual_circuit') @@ -701,6 +702,7 @@ class VirtualCircuitView(generic.ObjectView): queryset = VirtualCircuit.objects.all() +@register_model_view(VirtualCircuit, 'add', detail=False) @register_model_view(VirtualCircuit, 'edit') class VirtualCircuitEditView(generic.ObjectEditView): queryset = VirtualCircuit.objects.all() @@ -712,6 +714,7 @@ class VirtualCircuitDeleteView(generic.ObjectDeleteView): queryset = VirtualCircuit.objects.all() +@register_model_view(VirtualCircuit, 'bulk_import', path='import', detail=False) class VirtualCircuitBulkImportView(generic.BulkImportView): queryset = VirtualCircuit.objects.all() model_form = forms.VirtualCircuitImportForm @@ -727,6 +730,7 @@ class VirtualCircuitBulkImportView(generic.BulkImportView): return data +@register_model_view(VirtualCircuit, 'bulk_edit', path='edit', detail=False) class VirtualCircuitBulkEditView(generic.BulkEditView): queryset = VirtualCircuit.objects.annotate( termination_count=count_related(VirtualCircuitTermination, 'virtual_circuit') @@ -737,11 +741,12 @@ class VirtualCircuitBulkEditView(generic.BulkEditView): @register_model_view(VirtualCircuit, 'bulk_rename', path='rename', detail=False) -class VirtualCircuitulkRenameView(generic.BulkRenameView): +class VirtualCircuitBulkRenameView(generic.BulkRenameView): queryset = VirtualCircuit.objects.all() field_name = 'cid' +@register_model_view(VirtualCircuit, 'bulk_delete', path='delete', detail=False) class VirtualCircuitBulkDeleteView(generic.BulkDeleteView): queryset = VirtualCircuit.objects.annotate( termination_count=count_related(VirtualCircuitTermination, 'virtual_circuit')