Browse Source

Closes #8108: Improve breadcrumb links for device/VM components

jeremystretch 4 years ago
parent
commit
628e186846

+ 1 - 0
docs/release-notes/version-3.1.md

@@ -8,6 +8,7 @@
 * [#8057](https://github.com/netbox-community/netbox/issues/8057) - Dynamic object tables using HTMX
 * [#8080](https://github.com/netbox-community/netbox/issues/8080) - Link to NAT IPs for device/VM primary IPs
 * [#8081](https://github.com/netbox-community/netbox/issues/8081) - Allow creating services directly from navigation menu
+* [#8108](https://github.com/netbox-community/netbox/issues/8108) - Improve breadcrumb links for device/VM components
 
 ### Bug Fixes
 

+ 8 - 1
netbox/templates/dcim/consoleport.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_consoleports' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/consoleserverport.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_consoleserverports' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 0 - 9
netbox/templates/dcim/device_component.html

@@ -1,9 +0,0 @@
-{% extends 'generic/object.html' %}
-{% load helpers %}
-{% load perms %}
-{% load plugins %}
-
-{% block breadcrumbs %}
-  {{ block.super }}
-  <li class="breadcrumb-item"><a href="{% url object|viewname:'list' %}?device_id={{ object.device.pk }}">{{ object.device }}</a></li>
-{% endblock %}

+ 8 - 1
netbox/templates/dcim/devicebay.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_devicebays' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/frontport.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_frontports' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/interface.html

@@ -1,8 +1,15 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 {% load render_table from django_tables2 %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_interfaces' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block extra_controls %}
   {% if perms.dcim.add_interface and not object.is_virtual %}
     <a href="{% url 'dcim:interface_add' %}?device={{ object.device.pk }}&parent={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-sm btn-success">

+ 8 - 1
netbox/templates/dcim/inventoryitem.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_inventory' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/poweroutlet.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_poweroutlets' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/powerport.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_powerports' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 8 - 1
netbox/templates/dcim/rearport.html

@@ -1,7 +1,14 @@
-{% extends 'dcim/device_component.html' %}
+{% extends 'generic/object.html' %}
 {% load helpers %}
 {% load plugins %}
 
+{% block breadcrumbs %}
+  {{ block.super }}
+  <li class="breadcrumb-item">
+    <a href="{% url 'dcim:device_rearports' pk=object.device.pk %}">{{ object.device }}</a>
+  </li>
+{% endblock %}
+
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 3 - 1
netbox/templates/virtualization/vminterface.html

@@ -5,7 +5,9 @@
 
 {% block breadcrumbs %}
   {{ block.super }}
-  <li class="breadcrumb-item"><a href="{% url 'virtualization:vminterface_list' %}?virtual_machine_id={{ object.virtual_machine.pk }}">{{ object.virtual_machine }}</a></li>
+  <li class="breadcrumb-item">
+    <a href="{% url 'virtualization:virtualmachine_interfaces' pk=object.virtual_machine.pk %}">{{ object.virtual_machine }}</a>
+  </li>
 {% endblock %}
 
 {% block content %}