Parcourir la source

Clean up breadcrumbs for device component views

Jeremy Stretch il y a 5 ans
Parent
commit
96ce9122f4
2 fichiers modifiés avec 42 ajouts et 1 suppressions
  1. 41 0
      netbox/dcim/views.py
  2. 1 1
      netbox/templates/dcim/device_component.html

+ 41 - 0
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()

+ 1 - 1
netbox/templates/dcim/device_component.html

@@ -9,7 +9,7 @@
             <ol class="breadcrumb">
                 <li><a href="{% url 'dcim:device_list' %}">Devices</a></li>
                 <li><a href="{{ object.device.get_absolute_url }}">{{ object.device }}</a></li>
-                <li><a href="{% url object|viewname:"list" %}?device_id={{ object.device.pk }}">{{ object|meta:"verbose_name_plural"|bettertitle }}</a></li>
+                <li><a href="{% url breadcrumb_url pk=object.device.pk %}">{{ object|meta:"verbose_name_plural"|bettertitle }}</a></li>
                 <li>{{ object }}</li>
             </ol>
         </div>