Register dcim list views with register_model_view()

This commit is contained in:
Jeremy Stretch 2024-11-20 11:56:10 -05:00
parent e0ebfe306c
commit 5ba3c1d9a1
2 changed files with 168 additions and 157 deletions

View File

@ -70,168 +70,80 @@ urlpatterns = [
path('inventory-item-templates/', include(get_model_urls('dcim', 'inventoryitemtemplate', detail=False))), path('inventory-item-templates/', include(get_model_urls('dcim', 'inventoryitemtemplate', detail=False))),
path('inventory-item-templates/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemtemplate'))), path('inventory-item-templates/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemtemplate'))),
# Device roles path('device-roles/', include(get_model_urls('dcim', 'devicerole', detail=False))),
path('device-roles/', views.DeviceRoleListView.as_view(), name='devicerole_list'),
path('device-roles/add/', views.DeviceRoleEditView.as_view(), name='devicerole_add'),
path('device-roles/import/', views.DeviceRoleBulkImportView.as_view(), name='devicerole_import'),
path('device-roles/edit/', views.DeviceRoleBulkEditView.as_view(), name='devicerole_bulk_edit'),
path('device-roles/delete/', views.DeviceRoleBulkDeleteView.as_view(), name='devicerole_bulk_delete'),
path('device-roles/<int:pk>/', include(get_model_urls('dcim', 'devicerole'))), path('device-roles/<int:pk>/', include(get_model_urls('dcim', 'devicerole'))),
# Platforms path('platforms/', include(get_model_urls('dcim', 'platform', detail=False))),
path('platforms/', views.PlatformListView.as_view(), name='platform_list'),
path('platforms/add/', views.PlatformEditView.as_view(), name='platform_add'),
path('platforms/import/', views.PlatformBulkImportView.as_view(), name='platform_import'),
path('platforms/edit/', views.PlatformBulkEditView.as_view(), name='platform_bulk_edit'),
path('platforms/delete/', views.PlatformBulkDeleteView.as_view(), name='platform_bulk_delete'),
path('platforms/<int:pk>/', include(get_model_urls('dcim', 'platform'))), path('platforms/<int:pk>/', include(get_model_urls('dcim', 'platform'))),
# Devices path('devices/', include(get_model_urls('dcim', 'device', detail=False))),
path('devices/', views.DeviceListView.as_view(), name='device_list'),
path('devices/add/', views.DeviceEditView.as_view(), name='device_add'),
path('devices/import/', views.DeviceBulkImportView.as_view(), name='device_import'),
path('devices/edit/', views.DeviceBulkEditView.as_view(), name='device_bulk_edit'),
path('devices/rename/', views.DeviceBulkRenameView.as_view(), name='device_bulk_rename'),
path('devices/delete/', views.DeviceBulkDeleteView.as_view(), name='device_bulk_delete'),
path('devices/<int:pk>/', include(get_model_urls('dcim', 'device'))), path('devices/<int:pk>/', include(get_model_urls('dcim', 'device'))),
# Virtual Device Context path('virtual-device-contexts/', include(get_model_urls('dcim', 'virtualdevicecontext', detail=False))),
path('virtual-device-contexts/', views.VirtualDeviceContextListView.as_view(), name='virtualdevicecontext_list'),
path('virtual-device-contexts/add/', views.VirtualDeviceContextEditView.as_view(), name='virtualdevicecontext_add'),
path('virtual-device-contexts/import/', views.VirtualDeviceContextBulkImportView.as_view(), name='virtualdevicecontext_import'),
path('virtual-device-contexts/edit/', views.VirtualDeviceContextBulkEditView.as_view(), name='virtualdevicecontext_bulk_edit'),
path('virtual-device-contexts/delete/', views.VirtualDeviceContextBulkDeleteView.as_view(), name='virtualdevicecontext_bulk_delete'),
path('virtual-device-contexts/<int:pk>/', include(get_model_urls('dcim', 'virtualdevicecontext'))), path('virtual-device-contexts/<int:pk>/', include(get_model_urls('dcim', 'virtualdevicecontext'))),
# Modules path('modules/', include(get_model_urls('dcim', 'module', detail=False))),
path('modules/', views.ModuleListView.as_view(), name='module_list'),
path('modules/add/', views.ModuleEditView.as_view(), name='module_add'),
path('modules/import/', views.ModuleBulkImportView.as_view(), name='module_import'),
path('modules/edit/', views.ModuleBulkEditView.as_view(), name='module_bulk_edit'),
path('modules/delete/', views.ModuleBulkDeleteView.as_view(), name='module_bulk_delete'),
path('modules/<int:pk>/', include(get_model_urls('dcim', 'module'))), path('modules/<int:pk>/', include(get_model_urls('dcim', 'module'))),
# Console ports path('console-ports/', include(get_model_urls('dcim', 'consoleport', detail=False))),
path('console-ports/', views.ConsolePortListView.as_view(), name='consoleport_list'),
path('console-ports/add/', views.ConsolePortCreateView.as_view(), name='consoleport_add'),
path('console-ports/import/', views.ConsolePortBulkImportView.as_view(), name='consoleport_import'),
path('console-ports/edit/', views.ConsolePortBulkEditView.as_view(), name='consoleport_bulk_edit'),
path('console-ports/rename/', views.ConsolePortBulkRenameView.as_view(), name='consoleport_bulk_rename'),
path('console-ports/disconnect/', views.ConsolePortBulkDisconnectView.as_view(), name='consoleport_bulk_disconnect'),
path('console-ports/delete/', views.ConsolePortBulkDeleteView.as_view(), name='consoleport_bulk_delete'),
path('console-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleport'))), path('console-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleport'))),
path('devices/console-ports/add/', views.DeviceBulkAddConsolePortView.as_view(), name='device_bulk_add_consoleport'), path(
'devices/console-ports/add/',
views.DeviceBulkAddConsolePortView.as_view(),
name='device_bulk_add_consoleport'
),
# Console server ports path('console-server-ports/', include(get_model_urls('dcim', 'consoleserverport', detail=False))),
path('console-server-ports/', views.ConsoleServerPortListView.as_view(), name='consoleserverport_list'),
path('console-server-ports/add/', views.ConsoleServerPortCreateView.as_view(), name='consoleserverport_add'),
path('console-server-ports/import/', views.ConsoleServerPortBulkImportView.as_view(), name='consoleserverport_import'),
path('console-server-ports/edit/', views.ConsoleServerPortBulkEditView.as_view(), name='consoleserverport_bulk_edit'),
path('console-server-ports/rename/', views.ConsoleServerPortBulkRenameView.as_view(), name='consoleserverport_bulk_rename'),
path('console-server-ports/disconnect/', views.ConsoleServerPortBulkDisconnectView.as_view(), name='consoleserverport_bulk_disconnect'),
path('console-server-ports/delete/', views.ConsoleServerPortBulkDeleteView.as_view(), name='consoleserverport_bulk_delete'),
path('console-server-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleserverport'))), path('console-server-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleserverport'))),
path('devices/console-server-ports/add/', views.DeviceBulkAddConsoleServerPortView.as_view(), name='device_bulk_add_consoleserverport'), path(
'devices/console-server-ports/add/',
views.DeviceBulkAddConsoleServerPortView.as_view(),
name='device_bulk_add_consoleserverport'
),
# Power ports path('power-ports/', include(get_model_urls('dcim', 'powerport', detail=False))),
path('power-ports/', views.PowerPortListView.as_view(), name='powerport_list'),
path('power-ports/add/', views.PowerPortCreateView.as_view(), name='powerport_add'),
path('power-ports/import/', views.PowerPortBulkImportView.as_view(), name='powerport_import'),
path('power-ports/edit/', views.PowerPortBulkEditView.as_view(), name='powerport_bulk_edit'),
path('power-ports/rename/', views.PowerPortBulkRenameView.as_view(), name='powerport_bulk_rename'),
path('power-ports/disconnect/', views.PowerPortBulkDisconnectView.as_view(), name='powerport_bulk_disconnect'),
path('power-ports/delete/', views.PowerPortBulkDeleteView.as_view(), name='powerport_bulk_delete'),
path('power-ports/<int:pk>/', include(get_model_urls('dcim', 'powerport'))), path('power-ports/<int:pk>/', include(get_model_urls('dcim', 'powerport'))),
path('devices/power-ports/add/', views.DeviceBulkAddPowerPortView.as_view(), name='device_bulk_add_powerport'), path('devices/power-ports/add/', views.DeviceBulkAddPowerPortView.as_view(), name='device_bulk_add_powerport'),
# Power outlets path('power-outlets/', include(get_model_urls('dcim', 'poweroutlet', detail=False))),
path('power-outlets/', views.PowerOutletListView.as_view(), name='poweroutlet_list'),
path('power-outlets/add/', views.PowerOutletCreateView.as_view(), name='poweroutlet_add'),
path('power-outlets/import/', views.PowerOutletBulkImportView.as_view(), name='poweroutlet_import'),
path('power-outlets/edit/', views.PowerOutletBulkEditView.as_view(), name='poweroutlet_bulk_edit'),
path('power-outlets/rename/', views.PowerOutletBulkRenameView.as_view(), name='poweroutlet_bulk_rename'),
path('power-outlets/disconnect/', views.PowerOutletBulkDisconnectView.as_view(), name='poweroutlet_bulk_disconnect'),
path('power-outlets/delete/', views.PowerOutletBulkDeleteView.as_view(), name='poweroutlet_bulk_delete'),
path('power-outlets/<int:pk>/', include(get_model_urls('dcim', 'poweroutlet'))), path('power-outlets/<int:pk>/', include(get_model_urls('dcim', 'poweroutlet'))),
path('devices/power-outlets/add/', views.DeviceBulkAddPowerOutletView.as_view(), name='device_bulk_add_poweroutlet'), path(
'devices/power-outlets/add/',
views.DeviceBulkAddPowerOutletView.as_view(),
name='device_bulk_add_poweroutlet'
),
# Interfaces path('interfaces/', include(get_model_urls('dcim', 'interface', detail=False))),
path('interfaces/', views.InterfaceListView.as_view(), name='interface_list'),
path('interfaces/add/', views.InterfaceCreateView.as_view(), name='interface_add'),
path('interfaces/import/', views.InterfaceBulkImportView.as_view(), name='interface_import'),
path('interfaces/edit/', views.InterfaceBulkEditView.as_view(), name='interface_bulk_edit'),
path('interfaces/rename/', views.InterfaceBulkRenameView.as_view(), name='interface_bulk_rename'),
path('interfaces/disconnect/', views.InterfaceBulkDisconnectView.as_view(), name='interface_bulk_disconnect'),
path('interfaces/delete/', views.InterfaceBulkDeleteView.as_view(), name='interface_bulk_delete'),
path('interfaces/<int:pk>/', include(get_model_urls('dcim', 'interface'))), path('interfaces/<int:pk>/', include(get_model_urls('dcim', 'interface'))),
path('devices/interfaces/add/', views.DeviceBulkAddInterfaceView.as_view(), name='device_bulk_add_interface'), path('devices/interfaces/add/', views.DeviceBulkAddInterfaceView.as_view(), name='device_bulk_add_interface'),
# Front ports path('front-ports/', include(get_model_urls('dcim', 'frontport', detail=False))),
path('front-ports/', views.FrontPortListView.as_view(), name='frontport_list'),
path('front-ports/add/', views.FrontPortCreateView.as_view(), name='frontport_add'),
path('front-ports/import/', views.FrontPortBulkImportView.as_view(), name='frontport_import'),
path('front-ports/edit/', views.FrontPortBulkEditView.as_view(), name='frontport_bulk_edit'),
path('front-ports/rename/', views.FrontPortBulkRenameView.as_view(), name='frontport_bulk_rename'),
path('front-ports/disconnect/', views.FrontPortBulkDisconnectView.as_view(), name='frontport_bulk_disconnect'),
path('front-ports/delete/', views.FrontPortBulkDeleteView.as_view(), name='frontport_bulk_delete'),
path('front-ports/<int:pk>/', include(get_model_urls('dcim', 'frontport'))), path('front-ports/<int:pk>/', include(get_model_urls('dcim', 'frontport'))),
# path('devices/front-ports/add/', views.DeviceBulkAddFrontPortView.as_view(), name='device_bulk_add_frontport'),
# Rear ports path('rear-ports/', include(get_model_urls('dcim', 'rearport', detail=False))),
path('rear-ports/', views.RearPortListView.as_view(), name='rearport_list'),
path('rear-ports/add/', views.RearPortCreateView.as_view(), name='rearport_add'),
path('rear-ports/import/', views.RearPortBulkImportView.as_view(), name='rearport_import'),
path('rear-ports/edit/', views.RearPortBulkEditView.as_view(), name='rearport_bulk_edit'),
path('rear-ports/rename/', views.RearPortBulkRenameView.as_view(), name='rearport_bulk_rename'),
path('rear-ports/disconnect/', views.RearPortBulkDisconnectView.as_view(), name='rearport_bulk_disconnect'),
path('rear-ports/delete/', views.RearPortBulkDeleteView.as_view(), name='rearport_bulk_delete'),
path('rear-ports/<int:pk>/', include(get_model_urls('dcim', 'rearport'))), path('rear-ports/<int:pk>/', include(get_model_urls('dcim', 'rearport'))),
path('devices/rear-ports/add/', views.DeviceBulkAddRearPortView.as_view(), name='device_bulk_add_rearport'), path('devices/rear-ports/add/', views.DeviceBulkAddRearPortView.as_view(), name='device_bulk_add_rearport'),
# Module bays path('module-bays/', include(get_model_urls('dcim', 'modulebay', detail=False))),
path('module-bays/', views.ModuleBayListView.as_view(), name='modulebay_list'),
path('module-bays/add/', views.ModuleBayCreateView.as_view(), name='modulebay_add'),
path('module-bays/import/', views.ModuleBayBulkImportView.as_view(), name='modulebay_import'),
path('module-bays/edit/', views.ModuleBayBulkEditView.as_view(), name='modulebay_bulk_edit'),
path('module-bays/rename/', views.ModuleBayBulkRenameView.as_view(), name='modulebay_bulk_rename'),
path('module-bays/delete/', views.ModuleBayBulkDeleteView.as_view(), name='modulebay_bulk_delete'),
path('module-bays/<int:pk>/', include(get_model_urls('dcim', 'modulebay'))), path('module-bays/<int:pk>/', include(get_model_urls('dcim', 'modulebay'))),
path('devices/module-bays/add/', views.DeviceBulkAddModuleBayView.as_view(), name='device_bulk_add_modulebay'), path('devices/module-bays/add/', views.DeviceBulkAddModuleBayView.as_view(), name='device_bulk_add_modulebay'),
# Device bays path('device-bays/', include(get_model_urls('dcim', 'devicebay', detail=False))),
path('device-bays/', views.DeviceBayListView.as_view(), name='devicebay_list'),
path('device-bays/add/', views.DeviceBayCreateView.as_view(), name='devicebay_add'),
path('device-bays/import/', views.DeviceBayBulkImportView.as_view(), name='devicebay_import'),
path('device-bays/edit/', views.DeviceBayBulkEditView.as_view(), name='devicebay_bulk_edit'),
path('device-bays/rename/', views.DeviceBayBulkRenameView.as_view(), name='devicebay_bulk_rename'),
path('device-bays/delete/', views.DeviceBayBulkDeleteView.as_view(), name='devicebay_bulk_delete'),
path('device-bays/<int:pk>/', include(get_model_urls('dcim', 'devicebay'))), path('device-bays/<int:pk>/', include(get_model_urls('dcim', 'devicebay'))),
path('devices/device-bays/add/', views.DeviceBulkAddDeviceBayView.as_view(), name='device_bulk_add_devicebay'), path('devices/device-bays/add/', views.DeviceBulkAddDeviceBayView.as_view(), name='device_bulk_add_devicebay'),
# Inventory items path('inventory-items/', include(get_model_urls('dcim', 'inventoryitem', detail=False))),
path('inventory-items/', views.InventoryItemListView.as_view(), name='inventoryitem_list'),
path('inventory-items/add/', views.InventoryItemCreateView.as_view(), name='inventoryitem_add'),
path('inventory-items/import/', views.InventoryItemBulkImportView.as_view(), name='inventoryitem_import'),
path('inventory-items/edit/', views.InventoryItemBulkEditView.as_view(), name='inventoryitem_bulk_edit'),
path('inventory-items/rename/', views.InventoryItemBulkRenameView.as_view(), name='inventoryitem_bulk_rename'),
path('inventory-items/delete/', views.InventoryItemBulkDeleteView.as_view(), name='inventoryitem_bulk_delete'),
path('inventory-items/<int:pk>/', include(get_model_urls('dcim', 'inventoryitem'))), path('inventory-items/<int:pk>/', include(get_model_urls('dcim', 'inventoryitem'))),
path('devices/inventory-items/add/', views.DeviceBulkAddInventoryItemView.as_view(), name='device_bulk_add_inventoryitem'), path(
'devices/inventory-items/add/',
views.DeviceBulkAddInventoryItemView.as_view(),
name='device_bulk_add_inventoryitem'
),
# Inventory item roles path('inventory-item-roles/', include(get_model_urls('dcim', 'inventoryitemrole', detail=False))),
path('inventory-item-roles/', views.InventoryItemRoleListView.as_view(), name='inventoryitemrole_list'),
path('inventory-item-roles/add/', views.InventoryItemRoleEditView.as_view(), name='inventoryitemrole_add'),
path('inventory-item-roles/import/', views.InventoryItemRoleBulkImportView.as_view(), name='inventoryitemrole_import'),
path('inventory-item-roles/edit/', views.InventoryItemRoleBulkEditView.as_view(), name='inventoryitemrole_bulk_edit'),
path('inventory-item-roles/delete/', views.InventoryItemRoleBulkDeleteView.as_view(), name='inventoryitemrole_bulk_delete'),
path('inventory-item-roles/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemrole'))), path('inventory-item-roles/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemrole'))),
# Cables path('cables/', include(get_model_urls('dcim', 'cable', detail=False))),
path('cables/', views.CableListView.as_view(), name='cable_list'),
path('cables/add/', views.CableEditView.as_view(), name='cable_add'),
path('cables/import/', views.CableBulkImportView.as_view(), name='cable_import'),
path('cables/edit/', views.CableBulkEditView.as_view(), name='cable_bulk_edit'),
path('cables/delete/', views.CableBulkDeleteView.as_view(), name='cable_bulk_delete'),
path('cables/<int:pk>/', include(get_model_urls('dcim', 'cable'))), path('cables/<int:pk>/', include(get_model_urls('dcim', 'cable'))),
# Console/power/interface connections (read-only) # Console/power/interface connections (read-only)
@ -239,30 +151,18 @@ urlpatterns = [
path('power-connections/', views.PowerConnectionsListView.as_view(), name='power_connections_list'), path('power-connections/', views.PowerConnectionsListView.as_view(), name='power_connections_list'),
path('interface-connections/', views.InterfaceConnectionsListView.as_view(), name='interface_connections_list'), path('interface-connections/', views.InterfaceConnectionsListView.as_view(), name='interface_connections_list'),
# Virtual chassis path('virtual-chassis/', include(get_model_urls('dcim', 'virtualchassis', detail=False))),
path('virtual-chassis/', views.VirtualChassisListView.as_view(), name='virtualchassis_list'),
path('virtual-chassis/add/', views.VirtualChassisCreateView.as_view(), name='virtualchassis_add'),
path('virtual-chassis/import/', views.VirtualChassisBulkImportView.as_view(), name='virtualchassis_import'),
path('virtual-chassis/edit/', views.VirtualChassisBulkEditView.as_view(), name='virtualchassis_bulk_edit'),
path('virtual-chassis/delete/', views.VirtualChassisBulkDeleteView.as_view(), name='virtualchassis_bulk_delete'),
path('virtual-chassis/<int:pk>/', include(get_model_urls('dcim', 'virtualchassis'))), path('virtual-chassis/<int:pk>/', include(get_model_urls('dcim', 'virtualchassis'))),
path('virtual-chassis-members/<int:pk>/delete/', views.VirtualChassisRemoveMemberView.as_view(), name='virtualchassis_remove_member'), path(
'virtual-chassis-members/<int:pk>/delete/',
views.VirtualChassisRemoveMemberView.as_view(),
name='virtualchassis_remove_member'
),
# Power panels path('power-panels/', include(get_model_urls('dcim', 'powerpanel', detail=False))),
path('power-panels/', views.PowerPanelListView.as_view(), name='powerpanel_list'),
path('power-panels/add/', views.PowerPanelEditView.as_view(), name='powerpanel_add'),
path('power-panels/import/', views.PowerPanelBulkImportView.as_view(), name='powerpanel_import'),
path('power-panels/edit/', views.PowerPanelBulkEditView.as_view(), name='powerpanel_bulk_edit'),
path('power-panels/delete/', views.PowerPanelBulkDeleteView.as_view(), name='powerpanel_bulk_delete'),
path('power-panels/<int:pk>/', include(get_model_urls('dcim', 'powerpanel'))), path('power-panels/<int:pk>/', include(get_model_urls('dcim', 'powerpanel'))),
# Power feeds path('power-feeds/', include(get_model_urls('dcim', 'powerfeed', detail=False))),
path('power-feeds/', views.PowerFeedListView.as_view(), name='powerfeed_list'),
path('power-feeds/add/', views.PowerFeedEditView.as_view(), name='powerfeed_add'),
path('power-feeds/import/', views.PowerFeedBulkImportView.as_view(), name='powerfeed_import'),
path('power-feeds/edit/', views.PowerFeedBulkEditView.as_view(), name='powerfeed_bulk_edit'),
path('power-feeds/disconnect/', views.PowerFeedBulkDisconnectView.as_view(), name='powerfeed_bulk_disconnect'),
path('power-feeds/delete/', views.PowerFeedBulkDeleteView.as_view(), name='powerfeed_bulk_delete'),
path('power-feeds/<int:pk>/', include(get_model_urls('dcim', 'powerfeed'))), path('power-feeds/<int:pk>/', include(get_model_urls('dcim', 'powerfeed'))),
] ]

View File

@ -1865,6 +1865,7 @@ class InventoryItemTemplateBulkDeleteView(generic.BulkDeleteView):
# Device roles # Device roles
# #
@register_model_view(DeviceRole, 'list', path='', detail=False)
class DeviceRoleListView(generic.ObjectListView): class DeviceRoleListView(generic.ObjectListView):
queryset = DeviceRole.objects.annotate( queryset = DeviceRole.objects.annotate(
device_count=count_related(Device, 'role'), device_count=count_related(Device, 'role'),
@ -1885,6 +1886,7 @@ class DeviceRoleView(GetRelatedModelsMixin, generic.ObjectView):
} }
@register_model_view(DeviceRole, 'add', detail=False)
@register_model_view(DeviceRole, 'edit') @register_model_view(DeviceRole, 'edit')
class DeviceRoleEditView(generic.ObjectEditView): class DeviceRoleEditView(generic.ObjectEditView):
queryset = DeviceRole.objects.all() queryset = DeviceRole.objects.all()
@ -1896,11 +1898,13 @@ class DeviceRoleDeleteView(generic.ObjectDeleteView):
queryset = DeviceRole.objects.all() queryset = DeviceRole.objects.all()
@register_model_view(DeviceRole, 'import', detail=False)
class DeviceRoleBulkImportView(generic.BulkImportView): class DeviceRoleBulkImportView(generic.BulkImportView):
queryset = DeviceRole.objects.all() queryset = DeviceRole.objects.all()
model_form = forms.DeviceRoleImportForm model_form = forms.DeviceRoleImportForm
@register_model_view(DeviceRole, 'bulk_edit', path='edit', detail=False)
class DeviceRoleBulkEditView(generic.BulkEditView): class DeviceRoleBulkEditView(generic.BulkEditView):
queryset = DeviceRole.objects.annotate( queryset = DeviceRole.objects.annotate(
device_count=count_related(Device, 'role'), device_count=count_related(Device, 'role'),
@ -1911,6 +1915,7 @@ class DeviceRoleBulkEditView(generic.BulkEditView):
form = forms.DeviceRoleBulkEditForm form = forms.DeviceRoleBulkEditForm
@register_model_view(DeviceRole, 'bulk_delete', path='delete', detail=False)
class DeviceRoleBulkDeleteView(generic.BulkDeleteView): class DeviceRoleBulkDeleteView(generic.BulkDeleteView):
queryset = DeviceRole.objects.annotate( queryset = DeviceRole.objects.annotate(
device_count=count_related(Device, 'role'), device_count=count_related(Device, 'role'),
@ -1924,6 +1929,7 @@ class DeviceRoleBulkDeleteView(generic.BulkDeleteView):
# Platforms # Platforms
# #
@register_model_view(Platform, 'list', path='', detail=False)
class PlatformListView(generic.ObjectListView): class PlatformListView(generic.ObjectListView):
queryset = Platform.objects.annotate( queryset = Platform.objects.annotate(
device_count=count_related(Device, 'platform'), device_count=count_related(Device, 'platform'),
@ -1944,6 +1950,7 @@ class PlatformView(GetRelatedModelsMixin, generic.ObjectView):
} }
@register_model_view(Platform, 'add', detail=False)
@register_model_view(Platform, 'edit') @register_model_view(Platform, 'edit')
class PlatformEditView(generic.ObjectEditView): class PlatformEditView(generic.ObjectEditView):
queryset = Platform.objects.all() queryset = Platform.objects.all()
@ -1955,11 +1962,13 @@ class PlatformDeleteView(generic.ObjectDeleteView):
queryset = Platform.objects.all() queryset = Platform.objects.all()
@register_model_view(Platform, 'import', detail=False)
class PlatformBulkImportView(generic.BulkImportView): class PlatformBulkImportView(generic.BulkImportView):
queryset = Platform.objects.all() queryset = Platform.objects.all()
model_form = forms.PlatformImportForm model_form = forms.PlatformImportForm
@register_model_view(Platform, 'bulk_edit', path='edit', detail=False)
class PlatformBulkEditView(generic.BulkEditView): class PlatformBulkEditView(generic.BulkEditView):
queryset = Platform.objects.all() queryset = Platform.objects.all()
filterset = filtersets.PlatformFilterSet filterset = filtersets.PlatformFilterSet
@ -1967,6 +1976,7 @@ class PlatformBulkEditView(generic.BulkEditView):
form = forms.PlatformBulkEditForm form = forms.PlatformBulkEditForm
@register_model_view(Platform, 'bulk_delete', path='delete', detail=False)
class PlatformBulkDeleteView(generic.BulkDeleteView): class PlatformBulkDeleteView(generic.BulkDeleteView):
queryset = Platform.objects.all() queryset = Platform.objects.all()
filterset = filtersets.PlatformFilterSet filterset = filtersets.PlatformFilterSet
@ -1977,6 +1987,7 @@ class PlatformBulkDeleteView(generic.BulkDeleteView):
# Devices # Devices
# #
@register_model_view(Device, 'list', path='', detail=False)
class DeviceListView(generic.ObjectListView): class DeviceListView(generic.ObjectListView):
queryset = Device.objects.all() queryset = Device.objects.all()
filterset = filtersets.DeviceFilterSet filterset = filtersets.DeviceFilterSet
@ -2004,6 +2015,7 @@ class DeviceView(generic.ObjectView):
} }
@register_model_view(Device, 'add', detail=False)
@register_model_view(Device, 'edit') @register_model_view(Device, 'edit')
class DeviceEditView(generic.ObjectEditView): class DeviceEditView(generic.ObjectEditView):
queryset = Device.objects.all() queryset = Device.objects.all()
@ -2271,6 +2283,7 @@ class DeviceVirtualMachinesView(generic.ObjectChildrenView):
return self.child_model.objects.restrict(request.user, 'view').filter(cluster=parent.cluster, device=parent) return self.child_model.objects.restrict(request.user, 'view').filter(cluster=parent.cluster, device=parent)
@register_model_view(Device, 'import', detail=False)
class DeviceBulkImportView(generic.BulkImportView): class DeviceBulkImportView(generic.BulkImportView):
queryset = Device.objects.all() queryset = Device.objects.all()
model_form = forms.DeviceImportForm model_form = forms.DeviceImportForm
@ -2287,6 +2300,7 @@ class DeviceBulkImportView(generic.BulkImportView):
return obj return obj
@register_model_view(Device, 'bulk_edit', path='edit', detail=False)
class DeviceBulkEditView(generic.BulkEditView): class DeviceBulkEditView(generic.BulkEditView):
queryset = Device.objects.prefetch_related('device_type__manufacturer') queryset = Device.objects.prefetch_related('device_type__manufacturer')
filterset = filtersets.DeviceFilterSet filterset = filtersets.DeviceFilterSet
@ -2294,12 +2308,14 @@ class DeviceBulkEditView(generic.BulkEditView):
form = forms.DeviceBulkEditForm form = forms.DeviceBulkEditForm
@register_model_view(Device, 'bulk_delete', path='delete', detail=False)
class DeviceBulkDeleteView(generic.BulkDeleteView): class DeviceBulkDeleteView(generic.BulkDeleteView):
queryset = Device.objects.prefetch_related('device_type__manufacturer') queryset = Device.objects.prefetch_related('device_type__manufacturer')
filterset = filtersets.DeviceFilterSet filterset = filtersets.DeviceFilterSet
table = tables.DeviceTable table = tables.DeviceTable
@register_model_view(Device, 'bulk_rename', path='rename', detail=False)
class DeviceBulkRenameView(generic.BulkRenameView): class DeviceBulkRenameView(generic.BulkRenameView):
queryset = Device.objects.all() queryset = Device.objects.all()
filterset = filtersets.DeviceFilterSet filterset = filtersets.DeviceFilterSet
@ -2315,6 +2331,7 @@ class DeviceContactsView(ObjectContactsView):
# Modules # Modules
# #
@register_model_view(Module, 'list', path='', detail=False)
class ModuleListView(generic.ObjectListView): class ModuleListView(generic.ObjectListView):
queryset = Module.objects.prefetch_related('module_type__manufacturer') queryset = Module.objects.prefetch_related('module_type__manufacturer')
filterset = filtersets.ModuleFilterSet filterset = filtersets.ModuleFilterSet
@ -2332,6 +2349,7 @@ class ModuleView(GetRelatedModelsMixin, generic.ObjectView):
} }
@register_model_view(Module, 'add', detail=False)
@register_model_view(Module, 'edit') @register_model_view(Module, 'edit')
class ModuleEditView(generic.ObjectEditView): class ModuleEditView(generic.ObjectEditView):
queryset = Module.objects.all() queryset = Module.objects.all()
@ -2343,11 +2361,13 @@ class ModuleDeleteView(generic.ObjectDeleteView):
queryset = Module.objects.all() queryset = Module.objects.all()
@register_model_view(Module, 'import', detail=False)
class ModuleBulkImportView(generic.BulkImportView): class ModuleBulkImportView(generic.BulkImportView):
queryset = Module.objects.all() queryset = Module.objects.all()
model_form = forms.ModuleImportForm model_form = forms.ModuleImportForm
@register_model_view(Module, 'bulk_edit', path='edit', detail=False)
class ModuleBulkEditView(generic.BulkEditView): class ModuleBulkEditView(generic.BulkEditView):
queryset = Module.objects.prefetch_related('module_type__manufacturer') queryset = Module.objects.prefetch_related('module_type__manufacturer')
filterset = filtersets.ModuleFilterSet filterset = filtersets.ModuleFilterSet
@ -2355,6 +2375,7 @@ class ModuleBulkEditView(generic.BulkEditView):
form = forms.ModuleBulkEditForm form = forms.ModuleBulkEditForm
@register_model_view(Module, 'bulk_delete', path='delete', detail=False)
class ModuleBulkDeleteView(generic.BulkDeleteView): class ModuleBulkDeleteView(generic.BulkDeleteView):
queryset = Module.objects.prefetch_related('module_type__manufacturer') queryset = Module.objects.prefetch_related('module_type__manufacturer')
filterset = filtersets.ModuleFilterSet filterset = filtersets.ModuleFilterSet
@ -2365,6 +2386,7 @@ class ModuleBulkDeleteView(generic.BulkDeleteView):
# Console ports # Console ports
# #
@register_model_view(ConsolePort, 'list', path='', detail=False)
class ConsolePortListView(generic.ObjectListView): class ConsolePortListView(generic.ObjectListView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
filterset = filtersets.ConsolePortFilterSet filterset = filtersets.ConsolePortFilterSet
@ -2382,6 +2404,7 @@ class ConsolePortView(generic.ObjectView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
@register_model_view(ConsolePort, 'add', detail=False)
class ConsolePortCreateView(generic.ComponentCreateView): class ConsolePortCreateView(generic.ComponentCreateView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
form = forms.ConsolePortCreateForm form = forms.ConsolePortCreateForm
@ -2399,11 +2422,13 @@ class ConsolePortDeleteView(generic.ObjectDeleteView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
@register_model_view(ConsolePort, 'import', detail=False)
class ConsolePortBulkImportView(generic.BulkImportView): class ConsolePortBulkImportView(generic.BulkImportView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
model_form = forms.ConsolePortImportForm model_form = forms.ConsolePortImportForm
@register_model_view(ConsolePort, 'bulk_edit', path='edit', detail=False)
class ConsolePortBulkEditView(generic.BulkEditView): class ConsolePortBulkEditView(generic.BulkEditView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
filterset = filtersets.ConsolePortFilterSet filterset = filtersets.ConsolePortFilterSet
@ -2411,14 +2436,17 @@ class ConsolePortBulkEditView(generic.BulkEditView):
form = forms.ConsolePortBulkEditForm form = forms.ConsolePortBulkEditForm
@register_model_view(ConsolePort, 'bulk_rename', path='rename', detail=False)
class ConsolePortBulkRenameView(generic.BulkRenameView): class ConsolePortBulkRenameView(generic.BulkRenameView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
@register_model_view(ConsolePort, 'bulk_disconnect', path='disconnect', detail=False)
class ConsolePortBulkDisconnectView(BulkDisconnectView): class ConsolePortBulkDisconnectView(BulkDisconnectView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
@register_model_view(ConsolePort, 'bulk_delete', path='delete', detail=False)
class ConsolePortBulkDeleteView(generic.BulkDeleteView): class ConsolePortBulkDeleteView(generic.BulkDeleteView):
queryset = ConsolePort.objects.all() queryset = ConsolePort.objects.all()
filterset = filtersets.ConsolePortFilterSet filterset = filtersets.ConsolePortFilterSet
@ -2433,6 +2461,7 @@ register_model_view(ConsolePort, 'trace', kwargs={'model': ConsolePort})(PathTra
# Console server ports # Console server ports
# #
@register_model_view(ConsoleServerPort, 'list', path='', detail=False)
class ConsoleServerPortListView(generic.ObjectListView): class ConsoleServerPortListView(generic.ObjectListView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
filterset = filtersets.ConsoleServerPortFilterSet filterset = filtersets.ConsoleServerPortFilterSet
@ -2450,6 +2479,7 @@ class ConsoleServerPortView(generic.ObjectView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
@register_model_view(ConsoleServerPort, 'add', detail=False)
class ConsoleServerPortCreateView(generic.ComponentCreateView): class ConsoleServerPortCreateView(generic.ComponentCreateView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
form = forms.ConsoleServerPortCreateForm form = forms.ConsoleServerPortCreateForm
@ -2467,11 +2497,13 @@ class ConsoleServerPortDeleteView(generic.ObjectDeleteView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
@register_model_view(ConsoleServerPort, 'import', detail=False)
class ConsoleServerPortBulkImportView(generic.BulkImportView): class ConsoleServerPortBulkImportView(generic.BulkImportView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
model_form = forms.ConsoleServerPortImportForm model_form = forms.ConsoleServerPortImportForm
@register_model_view(ConsoleServerPort, 'bulk_edit', path='edit', detail=False)
class ConsoleServerPortBulkEditView(generic.BulkEditView): class ConsoleServerPortBulkEditView(generic.BulkEditView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
filterset = filtersets.ConsoleServerPortFilterSet filterset = filtersets.ConsoleServerPortFilterSet
@ -2479,14 +2511,17 @@ class ConsoleServerPortBulkEditView(generic.BulkEditView):
form = forms.ConsoleServerPortBulkEditForm form = forms.ConsoleServerPortBulkEditForm
@register_model_view(ConsoleServerPort, 'bulk_rename', path='rename', detail=False)
class ConsoleServerPortBulkRenameView(generic.BulkRenameView): class ConsoleServerPortBulkRenameView(generic.BulkRenameView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
@register_model_view(ConsoleServerPort, 'bulk_disconnect', path='disconnect', detail=False)
class ConsoleServerPortBulkDisconnectView(BulkDisconnectView): class ConsoleServerPortBulkDisconnectView(BulkDisconnectView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
@register_model_view(ConsoleServerPort, 'bulk_delete', path='delete', detail=False)
class ConsoleServerPortBulkDeleteView(generic.BulkDeleteView): class ConsoleServerPortBulkDeleteView(generic.BulkDeleteView):
queryset = ConsoleServerPort.objects.all() queryset = ConsoleServerPort.objects.all()
filterset = filtersets.ConsoleServerPortFilterSet filterset = filtersets.ConsoleServerPortFilterSet
@ -2501,6 +2536,7 @@ register_model_view(ConsoleServerPort, 'trace', kwargs={'model': ConsoleServerPo
# Power ports # Power ports
# #
@register_model_view(PowerPort, 'list', path='', detail=False)
class PowerPortListView(generic.ObjectListView): class PowerPortListView(generic.ObjectListView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
filterset = filtersets.PowerPortFilterSet filterset = filtersets.PowerPortFilterSet
@ -2518,6 +2554,7 @@ class PowerPortView(generic.ObjectView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
@register_model_view(PowerPort, 'add', detail=False)
class PowerPortCreateView(generic.ComponentCreateView): class PowerPortCreateView(generic.ComponentCreateView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
form = forms.PowerPortCreateForm form = forms.PowerPortCreateForm
@ -2535,11 +2572,13 @@ class PowerPortDeleteView(generic.ObjectDeleteView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
@register_model_view(PowerPort, 'import', detail=False)
class PowerPortBulkImportView(generic.BulkImportView): class PowerPortBulkImportView(generic.BulkImportView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
model_form = forms.PowerPortImportForm model_form = forms.PowerPortImportForm
@register_model_view(PowerPort, 'bulk_edit', path='edit', detail=False)
class PowerPortBulkEditView(generic.BulkEditView): class PowerPortBulkEditView(generic.BulkEditView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
filterset = filtersets.PowerPortFilterSet filterset = filtersets.PowerPortFilterSet
@ -2547,14 +2586,17 @@ class PowerPortBulkEditView(generic.BulkEditView):
form = forms.PowerPortBulkEditForm form = forms.PowerPortBulkEditForm
@register_model_view(PowerPort, 'bulk_rename', path='rename', detail=False)
class PowerPortBulkRenameView(generic.BulkRenameView): class PowerPortBulkRenameView(generic.BulkRenameView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
@register_model_view(PowerPort, 'bulk_disconnect', path='disconnect', detail=False)
class PowerPortBulkDisconnectView(BulkDisconnectView): class PowerPortBulkDisconnectView(BulkDisconnectView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
@register_model_view(PowerPort, 'bulk_delete', path='delete', detail=False)
class PowerPortBulkDeleteView(generic.BulkDeleteView): class PowerPortBulkDeleteView(generic.BulkDeleteView):
queryset = PowerPort.objects.all() queryset = PowerPort.objects.all()
filterset = filtersets.PowerPortFilterSet filterset = filtersets.PowerPortFilterSet
@ -2569,6 +2611,7 @@ register_model_view(PowerPort, 'trace', kwargs={'model': PowerPort})(PathTraceVi
# Power outlets # Power outlets
# #
@register_model_view(PowerOutlet, 'list', path='', detail=False)
class PowerOutletListView(generic.ObjectListView): class PowerOutletListView(generic.ObjectListView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
filterset = filtersets.PowerOutletFilterSet filterset = filtersets.PowerOutletFilterSet
@ -2586,6 +2629,7 @@ class PowerOutletView(generic.ObjectView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
@register_model_view(PowerOutlet, 'add', detail=False)
class PowerOutletCreateView(generic.ComponentCreateView): class PowerOutletCreateView(generic.ComponentCreateView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
form = forms.PowerOutletCreateForm form = forms.PowerOutletCreateForm
@ -2603,11 +2647,13 @@ class PowerOutletDeleteView(generic.ObjectDeleteView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
@register_model_view(PowerOutlet, 'import', detail=False)
class PowerOutletBulkImportView(generic.BulkImportView): class PowerOutletBulkImportView(generic.BulkImportView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
model_form = forms.PowerOutletImportForm model_form = forms.PowerOutletImportForm
@register_model_view(PowerOutlet, 'bulk_edit', path='edit', detail=False)
class PowerOutletBulkEditView(generic.BulkEditView): class PowerOutletBulkEditView(generic.BulkEditView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
filterset = filtersets.PowerOutletFilterSet filterset = filtersets.PowerOutletFilterSet
@ -2615,14 +2661,17 @@ class PowerOutletBulkEditView(generic.BulkEditView):
form = forms.PowerOutletBulkEditForm form = forms.PowerOutletBulkEditForm
@register_model_view(PowerOutlet, 'bulk_rename', path='rename', detail=False)
class PowerOutletBulkRenameView(generic.BulkRenameView): class PowerOutletBulkRenameView(generic.BulkRenameView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
@register_model_view(PowerOutlet, 'bulk_disconnect', path='disconnect', detail=False)
class PowerOutletBulkDisconnectView(BulkDisconnectView): class PowerOutletBulkDisconnectView(BulkDisconnectView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
@register_model_view(PowerOutlet, 'bulk_delete', path='delete', detail=False)
class PowerOutletBulkDeleteView(generic.BulkDeleteView): class PowerOutletBulkDeleteView(generic.BulkDeleteView):
queryset = PowerOutlet.objects.all() queryset = PowerOutlet.objects.all()
filterset = filtersets.PowerOutletFilterSet filterset = filtersets.PowerOutletFilterSet
@ -2637,6 +2686,7 @@ register_model_view(PowerOutlet, 'trace', kwargs={'model': PowerOutlet})(PathTra
# Interfaces # Interfaces
# #
@register_model_view(Interface, 'list', path='', detail=False)
class InterfaceListView(generic.ObjectListView): class InterfaceListView(generic.ObjectListView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
filterset = filtersets.InterfaceFilterSet filterset = filtersets.InterfaceFilterSet
@ -2711,6 +2761,7 @@ class InterfaceView(generic.ObjectView):
} }
@register_model_view(Interface, 'add', detail=False)
class InterfaceCreateView(generic.ComponentCreateView): class InterfaceCreateView(generic.ComponentCreateView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
form = forms.InterfaceCreateForm form = forms.InterfaceCreateForm
@ -2728,11 +2779,13 @@ class InterfaceDeleteView(generic.ObjectDeleteView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
@register_model_view(Interface, 'import', detail=False)
class InterfaceBulkImportView(generic.BulkImportView): class InterfaceBulkImportView(generic.BulkImportView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
model_form = forms.InterfaceImportForm model_form = forms.InterfaceImportForm
@register_model_view(Interface, 'bulk_edit', path='edit', detail=False)
class InterfaceBulkEditView(generic.BulkEditView): class InterfaceBulkEditView(generic.BulkEditView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
filterset = filtersets.InterfaceFilterSet filterset = filtersets.InterfaceFilterSet
@ -2740,14 +2793,17 @@ class InterfaceBulkEditView(generic.BulkEditView):
form = forms.InterfaceBulkEditForm form = forms.InterfaceBulkEditForm
@register_model_view(Interface, 'bulk_rename', path='rename', detail=False)
class InterfaceBulkRenameView(generic.BulkRenameView): class InterfaceBulkRenameView(generic.BulkRenameView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
@register_model_view(Interface, 'bulk_disconnect', path='disconnect', detail=False)
class InterfaceBulkDisconnectView(BulkDisconnectView): class InterfaceBulkDisconnectView(BulkDisconnectView):
queryset = Interface.objects.all() queryset = Interface.objects.all()
@register_model_view(Interface, 'bulk_delete', path='delete', detail=False)
class InterfaceBulkDeleteView(generic.BulkDeleteView): class InterfaceBulkDeleteView(generic.BulkDeleteView):
# Ensure child interfaces are deleted prior to their parents # Ensure child interfaces are deleted prior to their parents
queryset = Interface.objects.order_by('device', 'parent', CollateAsChar('_name')) queryset = Interface.objects.order_by('device', 'parent', CollateAsChar('_name'))
@ -2763,6 +2819,7 @@ register_model_view(Interface, 'trace', kwargs={'model': Interface})(PathTraceVi
# Front ports # Front ports
# #
@register_model_view(FrontPort, 'list', path='', detail=False)
class FrontPortListView(generic.ObjectListView): class FrontPortListView(generic.ObjectListView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
filterset = filtersets.FrontPortFilterSet filterset = filtersets.FrontPortFilterSet
@ -2780,6 +2837,7 @@ class FrontPortView(generic.ObjectView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
@register_model_view(FrontPort, 'add', detail=False)
class FrontPortCreateView(generic.ComponentCreateView): class FrontPortCreateView(generic.ComponentCreateView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
form = forms.FrontPortCreateForm form = forms.FrontPortCreateForm
@ -2797,11 +2855,13 @@ class FrontPortDeleteView(generic.ObjectDeleteView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
@register_model_view(FrontPort, 'import', detail=False)
class FrontPortBulkImportView(generic.BulkImportView): class FrontPortBulkImportView(generic.BulkImportView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
model_form = forms.FrontPortImportForm model_form = forms.FrontPortImportForm
@register_model_view(FrontPort, 'bulk_edit', path='edit', detail=False)
class FrontPortBulkEditView(generic.BulkEditView): class FrontPortBulkEditView(generic.BulkEditView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
filterset = filtersets.FrontPortFilterSet filterset = filtersets.FrontPortFilterSet
@ -2809,14 +2869,17 @@ class FrontPortBulkEditView(generic.BulkEditView):
form = forms.FrontPortBulkEditForm form = forms.FrontPortBulkEditForm
@register_model_view(FrontPort, 'bulk_rename', path='rename', detail=False)
class FrontPortBulkRenameView(generic.BulkRenameView): class FrontPortBulkRenameView(generic.BulkRenameView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
@register_model_view(FrontPort, 'bulk_disconnect', path='disconnect', detail=False)
class FrontPortBulkDisconnectView(BulkDisconnectView): class FrontPortBulkDisconnectView(BulkDisconnectView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
@register_model_view(FrontPort, 'bulk_delete', path='delete', detail=False)
class FrontPortBulkDeleteView(generic.BulkDeleteView): class FrontPortBulkDeleteView(generic.BulkDeleteView):
queryset = FrontPort.objects.all() queryset = FrontPort.objects.all()
filterset = filtersets.FrontPortFilterSet filterset = filtersets.FrontPortFilterSet
@ -2831,6 +2894,7 @@ register_model_view(FrontPort, 'trace', kwargs={'model': FrontPort})(PathTraceVi
# Rear ports # Rear ports
# #
@register_model_view(RearPort, 'list', path='', detail=False)
class RearPortListView(generic.ObjectListView): class RearPortListView(generic.ObjectListView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
filterset = filtersets.RearPortFilterSet filterset = filtersets.RearPortFilterSet
@ -2848,6 +2912,7 @@ class RearPortView(generic.ObjectView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
@register_model_view(RearPort, 'add', detail=False)
class RearPortCreateView(generic.ComponentCreateView): class RearPortCreateView(generic.ComponentCreateView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
form = forms.RearPortCreateForm form = forms.RearPortCreateForm
@ -2865,11 +2930,13 @@ class RearPortDeleteView(generic.ObjectDeleteView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
@register_model_view(RearPort, 'import', detail=False)
class RearPortBulkImportView(generic.BulkImportView): class RearPortBulkImportView(generic.BulkImportView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
model_form = forms.RearPortImportForm model_form = forms.RearPortImportForm
@register_model_view(RearPort, 'bulk_edit', path='edit', detail=False)
class RearPortBulkEditView(generic.BulkEditView): class RearPortBulkEditView(generic.BulkEditView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
filterset = filtersets.RearPortFilterSet filterset = filtersets.RearPortFilterSet
@ -2877,14 +2944,17 @@ class RearPortBulkEditView(generic.BulkEditView):
form = forms.RearPortBulkEditForm form = forms.RearPortBulkEditForm
@register_model_view(RearPort, 'bulk_rename', path='rename', detail=False)
class RearPortBulkRenameView(generic.BulkRenameView): class RearPortBulkRenameView(generic.BulkRenameView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
@register_model_view(RearPort, 'bulk_disconnect', path='disconnect', detail=False)
class RearPortBulkDisconnectView(BulkDisconnectView): class RearPortBulkDisconnectView(BulkDisconnectView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
@register_model_view(RearPort, 'bulk_delete', path='delete', detail=False)
class RearPortBulkDeleteView(generic.BulkDeleteView): class RearPortBulkDeleteView(generic.BulkDeleteView):
queryset = RearPort.objects.all() queryset = RearPort.objects.all()
filterset = filtersets.RearPortFilterSet filterset = filtersets.RearPortFilterSet
@ -2899,6 +2969,7 @@ register_model_view(RearPort, 'trace', kwargs={'model': RearPort})(PathTraceView
# Module bays # Module bays
# #
@register_model_view(ModuleBay, 'list', path='', detail=False)
class ModuleBayListView(generic.ObjectListView): class ModuleBayListView(generic.ObjectListView):
queryset = ModuleBay.objects.select_related('installed_module__module_type') queryset = ModuleBay.objects.select_related('installed_module__module_type')
filterset = filtersets.ModuleBayFilterSet filterset = filtersets.ModuleBayFilterSet
@ -2916,6 +2987,7 @@ class ModuleBayView(generic.ObjectView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
@register_model_view(ModuleBay, 'add', detail=False)
class ModuleBayCreateView(generic.ComponentCreateView): class ModuleBayCreateView(generic.ComponentCreateView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
form = forms.ModuleBayCreateForm form = forms.ModuleBayCreateForm
@ -2933,11 +3005,13 @@ class ModuleBayDeleteView(generic.ObjectDeleteView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
@register_model_view(ModuleBay, 'import', detail=False)
class ModuleBayBulkImportView(generic.BulkImportView): class ModuleBayBulkImportView(generic.BulkImportView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
model_form = forms.ModuleBayImportForm model_form = forms.ModuleBayImportForm
@register_model_view(ModuleBay, 'bulk_edit', path='edit', detail=False)
class ModuleBayBulkEditView(generic.BulkEditView): class ModuleBayBulkEditView(generic.BulkEditView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
filterset = filtersets.ModuleBayFilterSet filterset = filtersets.ModuleBayFilterSet
@ -2945,10 +3019,12 @@ class ModuleBayBulkEditView(generic.BulkEditView):
form = forms.ModuleBayBulkEditForm form = forms.ModuleBayBulkEditForm
@register_model_view(ModuleBay, 'bulk_rename', path='rename', detail=False)
class ModuleBayBulkRenameView(generic.BulkRenameView): class ModuleBayBulkRenameView(generic.BulkRenameView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
@register_model_view(ModuleBay, 'bulk_delete', path='delete', detail=False)
class ModuleBayBulkDeleteView(generic.BulkDeleteView): class ModuleBayBulkDeleteView(generic.BulkDeleteView):
queryset = ModuleBay.objects.all() queryset = ModuleBay.objects.all()
filterset = filtersets.ModuleBayFilterSet filterset = filtersets.ModuleBayFilterSet
@ -2959,6 +3035,7 @@ class ModuleBayBulkDeleteView(generic.BulkDeleteView):
# Device bays # Device bays
# #
@register_model_view(DeviceBay, 'list', path='', detail=False)
class DeviceBayListView(generic.ObjectListView): class DeviceBayListView(generic.ObjectListView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
filterset = filtersets.DeviceBayFilterSet filterset = filtersets.DeviceBayFilterSet
@ -2976,6 +3053,7 @@ class DeviceBayView(generic.ObjectView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
@register_model_view(DeviceBay, 'add', detail=False)
class DeviceBayCreateView(generic.ComponentCreateView): class DeviceBayCreateView(generic.ComponentCreateView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
form = forms.DeviceBayCreateForm form = forms.DeviceBayCreateForm
@ -3074,11 +3152,13 @@ class DeviceBayDepopulateView(generic.ObjectEditView):
}) })
@register_model_view(DeviceBay, 'import', detail=False)
class DeviceBayBulkImportView(generic.BulkImportView): class DeviceBayBulkImportView(generic.BulkImportView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
model_form = forms.DeviceBayImportForm model_form = forms.DeviceBayImportForm
@register_model_view(DeviceBay, 'bulk_edit', path='edit', detail=False)
class DeviceBayBulkEditView(generic.BulkEditView): class DeviceBayBulkEditView(generic.BulkEditView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
filterset = filtersets.DeviceBayFilterSet filterset = filtersets.DeviceBayFilterSet
@ -3086,10 +3166,12 @@ class DeviceBayBulkEditView(generic.BulkEditView):
form = forms.DeviceBayBulkEditForm form = forms.DeviceBayBulkEditForm
@register_model_view(DeviceBay, 'bulk_rename', path='rename', detail=False)
class DeviceBayBulkRenameView(generic.BulkRenameView): class DeviceBayBulkRenameView(generic.BulkRenameView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
@register_model_view(DeviceBay, 'bulk_delete', path='delete', detail=False)
class DeviceBayBulkDeleteView(generic.BulkDeleteView): class DeviceBayBulkDeleteView(generic.BulkDeleteView):
queryset = DeviceBay.objects.all() queryset = DeviceBay.objects.all()
filterset = filtersets.DeviceBayFilterSet filterset = filtersets.DeviceBayFilterSet
@ -3100,6 +3182,7 @@ class DeviceBayBulkDeleteView(generic.BulkDeleteView):
# Inventory items # Inventory items
# #
@register_model_view(InventoryItem, 'list', path='', detail=False)
class InventoryItemListView(generic.ObjectListView): class InventoryItemListView(generic.ObjectListView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
filterset = filtersets.InventoryItemFilterSet filterset = filtersets.InventoryItemFilterSet
@ -3123,6 +3206,7 @@ class InventoryItemEditView(generic.ObjectEditView):
form = forms.InventoryItemForm form = forms.InventoryItemForm
@register_model_view(InventoryItem, 'add', detail=False)
class InventoryItemCreateView(generic.ComponentCreateView): class InventoryItemCreateView(generic.ComponentCreateView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
form = forms.InventoryItemCreateForm form = forms.InventoryItemCreateForm
@ -3134,11 +3218,13 @@ class InventoryItemDeleteView(generic.ObjectDeleteView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
@register_model_view(InventoryItem, 'import', detail=False)
class InventoryItemBulkImportView(generic.BulkImportView): class InventoryItemBulkImportView(generic.BulkImportView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
model_form = forms.InventoryItemImportForm model_form = forms.InventoryItemImportForm
@register_model_view(InventoryItem, 'bulk_edit', path='edit', detail=False)
class InventoryItemBulkEditView(generic.BulkEditView): class InventoryItemBulkEditView(generic.BulkEditView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
filterset = filtersets.InventoryItemFilterSet filterset = filtersets.InventoryItemFilterSet
@ -3146,10 +3232,12 @@ class InventoryItemBulkEditView(generic.BulkEditView):
form = forms.InventoryItemBulkEditForm form = forms.InventoryItemBulkEditForm
@register_model_view(InventoryItem, 'bulk_rename', path='rename', detail=False)
class InventoryItemBulkRenameView(generic.BulkRenameView): class InventoryItemBulkRenameView(generic.BulkRenameView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
@register_model_view(InventoryItem, 'bulk_delete', path='delete', detail=False)
class InventoryItemBulkDeleteView(generic.BulkDeleteView): class InventoryItemBulkDeleteView(generic.BulkDeleteView):
queryset = InventoryItem.objects.all() queryset = InventoryItem.objects.all()
filterset = filtersets.InventoryItemFilterSet filterset = filtersets.InventoryItemFilterSet
@ -3179,6 +3267,7 @@ class InventoryItemChildrenView(generic.ObjectChildrenView):
# Inventory item roles # Inventory item roles
# #
@register_model_view(InventoryItemRole, 'list', path='', detail=False)
class InventoryItemRoleListView(generic.ObjectListView): class InventoryItemRoleListView(generic.ObjectListView):
queryset = InventoryItemRole.objects.annotate( queryset = InventoryItemRole.objects.annotate(
inventoryitem_count=count_related(InventoryItem, 'role'), inventoryitem_count=count_related(InventoryItem, 'role'),
@ -3198,6 +3287,7 @@ class InventoryItemRoleView(generic.ObjectView):
} }
@register_model_view(InventoryItemRole, 'add', detail=False)
@register_model_view(InventoryItemRole, 'edit') @register_model_view(InventoryItemRole, 'edit')
class InventoryItemRoleEditView(generic.ObjectEditView): class InventoryItemRoleEditView(generic.ObjectEditView):
queryset = InventoryItemRole.objects.all() queryset = InventoryItemRole.objects.all()
@ -3209,11 +3299,13 @@ class InventoryItemRoleDeleteView(generic.ObjectDeleteView):
queryset = InventoryItemRole.objects.all() queryset = InventoryItemRole.objects.all()
@register_model_view(InventoryItemRole, 'import', detail=False)
class InventoryItemRoleBulkImportView(generic.BulkImportView): class InventoryItemRoleBulkImportView(generic.BulkImportView):
queryset = InventoryItemRole.objects.all() queryset = InventoryItemRole.objects.all()
model_form = forms.InventoryItemRoleImportForm model_form = forms.InventoryItemRoleImportForm
@register_model_view(InventoryItemRole, 'bulk_edit', path='edit', detail=False)
class InventoryItemRoleBulkEditView(generic.BulkEditView): class InventoryItemRoleBulkEditView(generic.BulkEditView):
queryset = InventoryItemRole.objects.annotate( queryset = InventoryItemRole.objects.annotate(
inventoryitem_count=count_related(InventoryItem, 'role'), inventoryitem_count=count_related(InventoryItem, 'role'),
@ -3223,6 +3315,7 @@ class InventoryItemRoleBulkEditView(generic.BulkEditView):
form = forms.InventoryItemRoleBulkEditForm form = forms.InventoryItemRoleBulkEditForm
@register_model_view(InventoryItemRole, 'bulk_delete', path='delete', detail=False)
class InventoryItemRoleBulkDeleteView(generic.BulkDeleteView): class InventoryItemRoleBulkDeleteView(generic.BulkDeleteView):
queryset = InventoryItemRole.objects.annotate( queryset = InventoryItemRole.objects.annotate(
inventoryitem_count=count_related(InventoryItem, 'role'), inventoryitem_count=count_related(InventoryItem, 'role'),
@ -3290,17 +3383,6 @@ class DeviceBulkAddInterfaceView(generic.BulkComponentCreateView):
default_return_url = 'dcim:device_list' default_return_url = 'dcim:device_list'
# class DeviceBulkAddFrontPortView(generic.BulkComponentCreateView):
# parent_model = Device
# parent_field = 'device'
# form = forms.FrontPortBulkCreateForm
# queryset = FrontPort.objects.all()
# model_form = forms.FrontPortForm
# filterset = filtersets.DeviceFilterSet
# table = tables.DeviceTable
# default_return_url = 'dcim:device_list'
class DeviceBulkAddRearPortView(generic.BulkComponentCreateView): class DeviceBulkAddRearPortView(generic.BulkComponentCreateView):
parent_model = Device parent_model = Device
parent_field = 'device' parent_field = 'device'
@ -3349,6 +3431,7 @@ class DeviceBulkAddInventoryItemView(generic.BulkComponentCreateView):
# Cables # Cables
# #
@register_model_view(Cable, 'list', path='', detail=False)
class CableListView(generic.ObjectListView): class CableListView(generic.ObjectListView):
queryset = Cable.objects.prefetch_related( queryset = Cable.objects.prefetch_related(
'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location', 'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location',
@ -3364,6 +3447,7 @@ class CableView(generic.ObjectView):
queryset = Cable.objects.all() queryset = Cable.objects.all()
@register_model_view(Cable, 'add', detail=False)
@register_model_view(Cable, 'edit') @register_model_view(Cable, 'edit')
class CableEditView(generic.ObjectEditView): class CableEditView(generic.ObjectEditView):
queryset = Cable.objects.all() queryset = Cable.objects.all()
@ -3411,11 +3495,13 @@ class CableDeleteView(generic.ObjectDeleteView):
queryset = Cable.objects.all() queryset = Cable.objects.all()
@register_model_view(Cable, 'import', detail=False)
class CableBulkImportView(generic.BulkImportView): class CableBulkImportView(generic.BulkImportView):
queryset = Cable.objects.all() queryset = Cable.objects.all()
model_form = forms.CableImportForm model_form = forms.CableImportForm
@register_model_view(Cable, 'bulk_edit', path='edit', detail=False)
class CableBulkEditView(generic.BulkEditView): class CableBulkEditView(generic.BulkEditView):
queryset = Cable.objects.prefetch_related( queryset = Cable.objects.prefetch_related(
'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location', 'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location',
@ -3426,6 +3512,7 @@ class CableBulkEditView(generic.BulkEditView):
form = forms.CableBulkEditForm form = forms.CableBulkEditForm
@register_model_view(Cable, 'bulk_delete', path='delete', detail=False)
class CableBulkDeleteView(generic.BulkDeleteView): class CableBulkDeleteView(generic.BulkDeleteView):
queryset = Cable.objects.prefetch_related( queryset = Cable.objects.prefetch_related(
'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location', 'terminations__termination', 'terminations___device', 'terminations___rack', 'terminations___location',
@ -3491,6 +3578,7 @@ class InterfaceConnectionsListView(generic.ObjectListView):
# Virtual chassis # Virtual chassis
# #
@register_model_view(VirtualChassis, 'list', path='', detail=False)
class VirtualChassisListView(generic.ObjectListView): class VirtualChassisListView(generic.ObjectListView):
queryset = VirtualChassis.objects.all() queryset = VirtualChassis.objects.all()
table = tables.VirtualChassisTable table = tables.VirtualChassisTable
@ -3510,6 +3598,7 @@ class VirtualChassisView(generic.ObjectView):
} }
@register_model_view(VirtualChassis, 'add', detail=False)
class VirtualChassisCreateView(generic.ObjectEditView): class VirtualChassisCreateView(generic.ObjectEditView):
queryset = VirtualChassis.objects.all() queryset = VirtualChassis.objects.all()
form = forms.VirtualChassisCreateForm form = forms.VirtualChassisCreateForm
@ -3705,11 +3794,13 @@ class VirtualChassisRemoveMemberView(ObjectPermissionRequiredMixin, GetReturnURL
}) })
@register_model_view(VirtualChassis, 'import', detail=False)
class VirtualChassisBulkImportView(generic.BulkImportView): class VirtualChassisBulkImportView(generic.BulkImportView):
queryset = VirtualChassis.objects.all() queryset = VirtualChassis.objects.all()
model_form = forms.VirtualChassisImportForm model_form = forms.VirtualChassisImportForm
@register_model_view(VirtualChassis, 'bulk_edit', path='edit', detail=False)
class VirtualChassisBulkEditView(generic.BulkEditView): class VirtualChassisBulkEditView(generic.BulkEditView):
queryset = VirtualChassis.objects.all() queryset = VirtualChassis.objects.all()
filterset = filtersets.VirtualChassisFilterSet filterset = filtersets.VirtualChassisFilterSet
@ -3717,6 +3808,7 @@ class VirtualChassisBulkEditView(generic.BulkEditView):
form = forms.VirtualChassisBulkEditForm form = forms.VirtualChassisBulkEditForm
@register_model_view(VirtualChassis, 'bulk_delete', path='delete', detail=False)
class VirtualChassisBulkDeleteView(generic.BulkDeleteView): class VirtualChassisBulkDeleteView(generic.BulkDeleteView):
queryset = VirtualChassis.objects.all() queryset = VirtualChassis.objects.all()
filterset = filtersets.VirtualChassisFilterSet filterset = filtersets.VirtualChassisFilterSet
@ -3727,6 +3819,7 @@ class VirtualChassisBulkDeleteView(generic.BulkDeleteView):
# Power panels # Power panels
# #
@register_model_view(PowerPanel, 'list', path='', detail=False)
class PowerPanelListView(generic.ObjectListView): class PowerPanelListView(generic.ObjectListView):
queryset = PowerPanel.objects.annotate( queryset = PowerPanel.objects.annotate(
powerfeed_count=count_related(PowerFeed, 'power_panel') powerfeed_count=count_related(PowerFeed, 'power_panel')
@ -3746,6 +3839,7 @@ class PowerPanelView(GetRelatedModelsMixin, generic.ObjectView):
} }
@register_model_view(PowerPanel, 'add', detail=False)
@register_model_view(PowerPanel, 'edit') @register_model_view(PowerPanel, 'edit')
class PowerPanelEditView(generic.ObjectEditView): class PowerPanelEditView(generic.ObjectEditView):
queryset = PowerPanel.objects.all() queryset = PowerPanel.objects.all()
@ -3757,11 +3851,13 @@ class PowerPanelDeleteView(generic.ObjectDeleteView):
queryset = PowerPanel.objects.all() queryset = PowerPanel.objects.all()
@register_model_view(PowerPanel, 'import', detail=False)
class PowerPanelBulkImportView(generic.BulkImportView): class PowerPanelBulkImportView(generic.BulkImportView):
queryset = PowerPanel.objects.all() queryset = PowerPanel.objects.all()
model_form = forms.PowerPanelImportForm model_form = forms.PowerPanelImportForm
@register_model_view(PowerPanel, 'bulk_edit', path='edit', detail=False)
class PowerPanelBulkEditView(generic.BulkEditView): class PowerPanelBulkEditView(generic.BulkEditView):
queryset = PowerPanel.objects.all() queryset = PowerPanel.objects.all()
filterset = filtersets.PowerPanelFilterSet filterset = filtersets.PowerPanelFilterSet
@ -3769,6 +3865,7 @@ class PowerPanelBulkEditView(generic.BulkEditView):
form = forms.PowerPanelBulkEditForm form = forms.PowerPanelBulkEditForm
@register_model_view(PowerPanel, 'bulk_delete', path='delete', detail=False)
class PowerPanelBulkDeleteView(generic.BulkDeleteView): class PowerPanelBulkDeleteView(generic.BulkDeleteView):
queryset = PowerPanel.objects.annotate( queryset = PowerPanel.objects.annotate(
powerfeed_count=count_related(PowerFeed, 'power_panel') powerfeed_count=count_related(PowerFeed, 'power_panel')
@ -3786,6 +3883,7 @@ class PowerPanelContactsView(ObjectContactsView):
# Power feeds # Power feeds
# #
@register_model_view(PowerFeed, 'list', path='', detail=False)
class PowerFeedListView(generic.ObjectListView): class PowerFeedListView(generic.ObjectListView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
filterset = filtersets.PowerFeedFilterSet filterset = filtersets.PowerFeedFilterSet
@ -3798,6 +3896,7 @@ class PowerFeedView(generic.ObjectView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
@register_model_view(PowerFeed, 'add', detail=False)
@register_model_view(PowerFeed, 'edit') @register_model_view(PowerFeed, 'edit')
class PowerFeedEditView(generic.ObjectEditView): class PowerFeedEditView(generic.ObjectEditView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
@ -3809,11 +3908,13 @@ class PowerFeedDeleteView(generic.ObjectDeleteView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
@register_model_view(PowerFeed, 'import', detail=False)
class PowerFeedBulkImportView(generic.BulkImportView): class PowerFeedBulkImportView(generic.BulkImportView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
model_form = forms.PowerFeedImportForm model_form = forms.PowerFeedImportForm
@register_model_view(PowerFeed, 'bulk_edit', path='edit', detail=False)
class PowerFeedBulkEditView(generic.BulkEditView): class PowerFeedBulkEditView(generic.BulkEditView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
filterset = filtersets.PowerFeedFilterSet filterset = filtersets.PowerFeedFilterSet
@ -3821,10 +3922,12 @@ class PowerFeedBulkEditView(generic.BulkEditView):
form = forms.PowerFeedBulkEditForm form = forms.PowerFeedBulkEditForm
@register_model_view(PowerFeed, 'bulk_disconnect', path='disconnect', detail=False)
class PowerFeedBulkDisconnectView(BulkDisconnectView): class PowerFeedBulkDisconnectView(BulkDisconnectView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
@register_model_view(PowerFeed, 'bulk_delete', path='delete', detail=False)
class PowerFeedBulkDeleteView(generic.BulkDeleteView): class PowerFeedBulkDeleteView(generic.BulkDeleteView):
queryset = PowerFeed.objects.all() queryset = PowerFeed.objects.all()
filterset = filtersets.PowerFeedFilterSet filterset = filtersets.PowerFeedFilterSet
@ -3835,7 +3938,11 @@ class PowerFeedBulkDeleteView(generic.BulkDeleteView):
register_model_view(PowerFeed, 'trace', kwargs={'model': PowerFeed})(PathTraceView) register_model_view(PowerFeed, 'trace', kwargs={'model': PowerFeed})(PathTraceView)
# VDC #
# Virtual device contexts
#
@register_model_view(VirtualDeviceContext, 'list', path='', detail=False)
class VirtualDeviceContextListView(generic.ObjectListView): class VirtualDeviceContextListView(generic.ObjectListView):
queryset = VirtualDeviceContext.objects.annotate( queryset = VirtualDeviceContext.objects.annotate(
interface_count=count_related(Interface, 'vdcs'), interface_count=count_related(Interface, 'vdcs'),
@ -3861,6 +3968,7 @@ class VirtualDeviceContextView(GetRelatedModelsMixin, generic.ObjectView):
} }
@register_model_view(VirtualDeviceContext, 'add', detail=False)
@register_model_view(VirtualDeviceContext, 'edit') @register_model_view(VirtualDeviceContext, 'edit')
class VirtualDeviceContextEditView(generic.ObjectEditView): class VirtualDeviceContextEditView(generic.ObjectEditView):
queryset = VirtualDeviceContext.objects.all() queryset = VirtualDeviceContext.objects.all()
@ -3872,11 +3980,13 @@ class VirtualDeviceContextDeleteView(generic.ObjectDeleteView):
queryset = VirtualDeviceContext.objects.all() queryset = VirtualDeviceContext.objects.all()
@register_model_view(VirtualDeviceContext, 'import', detail=False)
class VirtualDeviceContextBulkImportView(generic.BulkImportView): class VirtualDeviceContextBulkImportView(generic.BulkImportView):
queryset = VirtualDeviceContext.objects.all() queryset = VirtualDeviceContext.objects.all()
model_form = forms.VirtualDeviceContextImportForm model_form = forms.VirtualDeviceContextImportForm
@register_model_view(VirtualDeviceContext, 'bulk_edit', path='edit', detail=False)
class VirtualDeviceContextBulkEditView(generic.BulkEditView): class VirtualDeviceContextBulkEditView(generic.BulkEditView):
queryset = VirtualDeviceContext.objects.all() queryset = VirtualDeviceContext.objects.all()
filterset = filtersets.VirtualDeviceContextFilterSet filterset = filtersets.VirtualDeviceContextFilterSet
@ -3884,6 +3994,7 @@ class VirtualDeviceContextBulkEditView(generic.BulkEditView):
form = forms.VirtualDeviceContextBulkEditForm form = forms.VirtualDeviceContextBulkEditForm
@register_model_view(VirtualDeviceContext, 'bulk_delete', path='delete', detail=False)
class VirtualDeviceContextBulkDeleteView(generic.BulkDeleteView): class VirtualDeviceContextBulkDeleteView(generic.BulkDeleteView):
queryset = VirtualDeviceContext.objects.all() queryset = VirtualDeviceContext.objects.all()
filterset = filtersets.VirtualDeviceContextFilterSet filterset = filtersets.VirtualDeviceContextFilterSet