From 96ce9122f42872e5b6141f6846d73c05ed9376bc Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 2 Dec 2020 16:25:38 -0500 Subject: [PATCH] Clean up breadcrumbs for device component views --- netbox/dcim/views.py | 41 +++++++++++++++++++++ netbox/templates/dcim/device_component.html | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index e2f542e5c..9f8e4c13f 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1334,6 +1334,11 @@ class ConsolePortListView(generic.ObjectListView): class ConsolePortView(generic.ObjectView): queryset = ConsolePort.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_consoleports' + } + class ConsolePortCreateView(generic.ComponentCreateView): queryset = ConsolePort.objects.all() @@ -1394,6 +1399,11 @@ class ConsoleServerPortListView(generic.ObjectListView): class ConsoleServerPortView(generic.ObjectView): queryset = ConsoleServerPort.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_consoleserverports' + } + class ConsoleServerPortCreateView(generic.ComponentCreateView): queryset = ConsoleServerPort.objects.all() @@ -1454,6 +1464,11 @@ class PowerPortListView(generic.ObjectListView): class PowerPortView(generic.ObjectView): queryset = PowerPort.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_powerports' + } + class PowerPortCreateView(generic.ComponentCreateView): queryset = PowerPort.objects.all() @@ -1514,6 +1529,11 @@ class PowerOutletListView(generic.ObjectListView): class PowerOutletView(generic.ObjectView): queryset = PowerOutlet.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_poweroutlets' + } + class PowerOutletCreateView(generic.ComponentCreateView): queryset = PowerOutlet.objects.all() @@ -1598,6 +1618,7 @@ class InterfaceView(generic.ObjectView): return { 'ipaddress_table': ipaddress_table, 'vlan_table': vlan_table, + 'breadcrumb_url': 'dcim:device_interfaces' } @@ -1660,6 +1681,11 @@ class FrontPortListView(generic.ObjectListView): class FrontPortView(generic.ObjectView): queryset = FrontPort.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_frontports' + } + class FrontPortCreateView(generic.ComponentCreateView): queryset = FrontPort.objects.all() @@ -1720,6 +1746,11 @@ class RearPortListView(generic.ObjectListView): class RearPortView(generic.ObjectView): queryset = RearPort.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_rearports' + } + class RearPortCreateView(generic.ComponentCreateView): queryset = RearPort.objects.all() @@ -1780,6 +1811,11 @@ class DeviceBayListView(generic.ObjectListView): class DeviceBayView(generic.ObjectView): queryset = DeviceBay.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_devicebays' + } + class DeviceBayCreateView(generic.ComponentCreateView): queryset = DeviceBay.objects.all() @@ -1901,6 +1937,11 @@ class InventoryItemListView(generic.ObjectListView): class InventoryItemView(generic.ObjectView): queryset = InventoryItem.objects.all() + def get_extra_context(self, request, instance): + return { + 'breadcrumb_url': 'dcim:device_inventory' + } + class InventoryItemEditView(generic.ObjectEditView): queryset = InventoryItem.objects.all() diff --git a/netbox/templates/dcim/device_component.html b/netbox/templates/dcim/device_component.html index 7d351b129..d246bf81e 100644 --- a/netbox/templates/dcim/device_component.html +++ b/netbox/templates/dcim/device_component.html @@ -9,7 +9,7 @@