Skip to content

Commit

Permalink
Merge pull request #33 from DanSheps/develop
Browse files Browse the repository at this point in the history
Add Bulk Edit/Delete Support
  • Loading branch information
DanSheps authored Sep 16, 2024
2 parents 8c95959 + 32e6714 commit dc6b952
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 3 deletions.
4 changes: 4 additions & 0 deletions netbox_routing/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
path('routes/static/', views.StaticRouteListView.as_view(), name='staticroute_list'),
path('routes/static/add/', views.StaticRouteEditView.as_view(), name='staticroute_add'),
path('routes/static/import/', views.StaticRouteListView.as_view(), name='staticroute_import'),
path('routes/static/edit/', views.StaticRouteBulkEditView.as_view(), name='staticroute_bulk_edit'),
path('routes/static/delete/', views.StaticRouteBulkDeleteView.as_view(), name='staticroute_bulk_delete'),
path('routes/static/<int:pk>/', views.StaticRouteView.as_view(), name='staticroute'),
path('routes/static/<int:pk>/edit/', views.StaticRouteEditView.as_view(), name='staticroute_edit'),
path('routes/static/<int:pk>/devices/', views.StaticRouteDevicesView.as_view(), name='staticroute_devices'),
Expand Down Expand Up @@ -37,6 +39,8 @@
path('ospf/interface/', views.OSPFInterfaceListView.as_view(), name='ospfinterface_list'),
path('ospf/interface/add/', views.OSPFInterfaceEditView.as_view(), name='ospfinterface_add'),
path('ospf/interface/import/', views.OSPFInterfaceListView.as_view(), name='ospfinterface_import'),
path('ospf/interface/edit/', views.OSPFInterfaceBulkEditView.as_view(), name='ospfinterface_bulk_edit'),
path('ospf/interface/delete/', views.OSPFInterfaceBulkDeleteView.as_view(), name='ospfinterface_bulk_delete'),
path('ospf/interface/<int:pk>/', views.OSPFInterfaceView.as_view(), name='ospfinterface'),
path('ospf/interface/<int:pk>/edit/', views.OSPFInterfaceEditView.as_view(), name='ospfinterface_edit'),
path('ospf/interface/<int:pk>/delete/', views.OSPFInterfaceDeleteView.as_view(), name='ospfinterface_delete'),
Expand Down
5 changes: 3 additions & 2 deletions netbox_routing/views/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from .static import StaticRouteListView, StaticRouteDevicesView, StaticRouteEditView, StaticRouteView, \
StaticRouteDeleteView
from .static import *

from .objects import PrefixListView, PrefixListEditView, PrefixListListView, PrefixListDeleteView, RouteMapListView, \
RouteMapView, RouteMapEditView, RouteMapDeleteView, PrefixListEntryListView, PrefixListEntryEditView, \
Expand All @@ -20,7 +19,9 @@
'StaticRouteView',
'StaticRouteDevicesView',
'StaticRouteEditView',
'StaticRouteBulkEditView',
'StaticRouteDeleteView',
'StaticRouteBulkDeleteView',

# OSPF
'OSPFInstanceListView',
Expand Down
17 changes: 17 additions & 0 deletions netbox_routing/views/ospf.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
'OSPFInterfaceListView',
'OSPFInterfaceView',
'OSPFInterfaceEditView',
'OSPFInterfaceBulkEditView',
'OSPFInterfaceDeleteView',
'OSPFInterfaceBulkDeleteView',
)


Expand Down Expand Up @@ -70,11 +72,26 @@ class OSPFInstanceEditView(ObjectEditView):
form = OSPFInstanceForm


@register_model_view(OSPFInstance, name='bulk_edit')
class OSPFInstanceBulkEditView(ObjectEditView):
queryset = OSPFInstance.objects.all()
form = OSPFInstanceForm
filterset = OSPFInstanceFilterSet
table = OSPFInterfaceTable


@register_model_view(OSPFInstance, name='delete')
class OSPFInstanceDeleteView(ObjectDeleteView):
queryset = OSPFInstance.objects.all()


@register_model_view(OSPFInstance, name='bulk_delete')
class OSPFInstanceBulkDeleteView(ObjectDeleteView):
queryset = OSPFInstance.objects.all()
filterset = OSPFInstanceFilterSet
table = OSPFInterfaceTable


class OSPFInstanceBulkImportView(BulkImportView):
queryset = OSPFInstance.objects.all()
model_form = OSPFInstanceImportForm
Expand Down
21 changes: 20 additions & 1 deletion netbox_routing/views/static.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
from dcim.filtersets import DeviceFilterSet
from dcim.models import Device
from dcim.tables import DeviceTable
from netbox.views.generic import ObjectListView, ObjectEditView, ObjectView, ObjectDeleteView, ObjectChildrenView
from netbox.views.generic import ObjectListView, ObjectEditView, ObjectView, ObjectDeleteView, ObjectChildrenView, \
BulkDeleteView, BulkEditView
from netbox_routing.filtersets.static import StaticRouteFilterSet
from netbox_routing.forms import StaticRouteForm
from netbox_routing.forms.bulk_edit import StaticRouteBulkEditForm
from netbox_routing.forms.filtersets.static import StaticRouteFilterForm
from netbox_routing.models import StaticRoute
from netbox_routing.tables.static import StaticRouteTable
Expand All @@ -14,7 +16,9 @@
'StaticRouteView',
'StaticRouteDevicesView',
'StaticRouteEditView',
'StaticRouteBulkEditView',
'StaticRouteDeleteView',
'StaticRouteBulkDeleteView',
)

from utilities.views import register_model_view, ViewTab
Expand Down Expand Up @@ -56,6 +60,21 @@ class StaticRouteEditView(ObjectEditView):
form = StaticRouteForm


@register_model_view(StaticRoute, name='bulk_edit')
class StaticRouteBulkEditView(BulkEditView):
queryset = StaticRoute.objects.all()
filterset = StaticRouteFilterSet
table = StaticRouteTable
form = StaticRouteBulkEditForm


@register_model_view(StaticRoute, name='delete')
class StaticRouteDeleteView(ObjectDeleteView):
queryset = StaticRoute.objects.all()


@register_model_view(StaticRoute, name='bulk_delete')
class StaticRouteBulkDeleteView(BulkDeleteView):
queryset = StaticRoute.objects.all()
filterset = StaticRouteFilterSet
table = StaticRouteTable

0 comments on commit dc6b952

Please sign in to comment.