diff --git a/netbox_routing/urls.py b/netbox_routing/urls.py index a0cde00..f434d02 100644 --- a/netbox_routing/urls.py +++ b/netbox_routing/urls.py @@ -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//', views.StaticRouteView.as_view(), name='staticroute'), path('routes/static//edit/', views.StaticRouteEditView.as_view(), name='staticroute_edit'), path('routes/static//devices/', views.StaticRouteDevicesView.as_view(), name='staticroute_devices'), @@ -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//', views.OSPFInterfaceView.as_view(), name='ospfinterface'), path('ospf/interface//edit/', views.OSPFInterfaceEditView.as_view(), name='ospfinterface_edit'), path('ospf/interface//delete/', views.OSPFInterfaceDeleteView.as_view(), name='ospfinterface_delete'), diff --git a/netbox_routing/views/__init__.py b/netbox_routing/views/__init__.py index cce5dd5..63e6deb 100644 --- a/netbox_routing/views/__init__.py +++ b/netbox_routing/views/__init__.py @@ -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, \ @@ -20,7 +19,9 @@ 'StaticRouteView', 'StaticRouteDevicesView', 'StaticRouteEditView', + 'StaticRouteBulkEditView', 'StaticRouteDeleteView', + 'StaticRouteBulkDeleteView', # OSPF 'OSPFInstanceListView', diff --git a/netbox_routing/views/ospf.py b/netbox_routing/views/ospf.py index c7ab9d1..29fcb7c 100644 --- a/netbox_routing/views/ospf.py +++ b/netbox_routing/views/ospf.py @@ -26,7 +26,9 @@ 'OSPFInterfaceListView', 'OSPFInterfaceView', 'OSPFInterfaceEditView', + 'OSPFInterfaceBulkEditView', 'OSPFInterfaceDeleteView', + 'OSPFInterfaceBulkDeleteView', ) @@ -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 diff --git a/netbox_routing/views/static.py b/netbox_routing/views/static.py index 52d932c..0dc52d6 100644 --- a/netbox_routing/views/static.py +++ b/netbox_routing/views/static.py @@ -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 @@ -14,7 +16,9 @@ 'StaticRouteView', 'StaticRouteDevicesView', 'StaticRouteEditView', + 'StaticRouteBulkEditView', 'StaticRouteDeleteView', + 'StaticRouteBulkDeleteView', ) from utilities.views import register_model_view, ViewTab @@ -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