Browse Source

Standardize object breadcrumbs

jeremystretch 4 years ago
parent
commit
856956afce
59 changed files with 72 additions and 253 deletions
  1. 1 2
      netbox/templates/circuits/circuit.html
  2. 0 5
      netbox/templates/circuits/circuittype.html
  3. 0 5
      netbox/templates/circuits/provider.html
  4. 1 2
      netbox/templates/circuits/providernetwork.html
  5. 0 5
      netbox/templates/dcim/cable.html
  6. 0 5
      netbox/templates/dcim/consoleport.html
  7. 0 5
      netbox/templates/dcim/consoleserverport.html
  8. 1 2
      netbox/templates/dcim/device/base.html
  9. 2 8
      netbox/templates/dcim/device_component.html
  10. 0 5
      netbox/templates/dcim/devicebay.html
  11. 0 1
      netbox/templates/dcim/devicerole.html
  12. 1 2
      netbox/templates/dcim/devicetype.html
  13. 0 6
      netbox/templates/dcim/frontport.html
  14. 0 5
      netbox/templates/dcim/interface.html
  15. 0 5
      netbox/templates/dcim/inventoryitem.html
  16. 1 2
      netbox/templates/dcim/location.html
  17. 0 5
      netbox/templates/dcim/manufacturer.html
  18. 4 2
      netbox/templates/dcim/platform.html
  19. 1 2
      netbox/templates/dcim/powerfeed.html
  20. 0 5
      netbox/templates/dcim/poweroutlet.html
  21. 1 2
      netbox/templates/dcim/powerpanel.html
  22. 0 5
      netbox/templates/dcim/powerport.html
  23. 5 6
      netbox/templates/dcim/rack.html
  24. 2 2
      netbox/templates/dcim/rackreservation.html
  25. 0 5
      netbox/templates/dcim/rackrole.html
  26. 0 5
      netbox/templates/dcim/rearport.html
  27. 2 3
      netbox/templates/dcim/region.html
  28. 8 4
      netbox/templates/dcim/site.html
  29. 2 3
      netbox/templates/dcim/sitegroup.html
  30. 0 8
      netbox/templates/dcim/virtualchassis.html
  31. 0 5
      netbox/templates/extras/configcontext.html
  32. 0 5
      netbox/templates/extras/customfield.html
  33. 0 5
      netbox/templates/extras/customlink.html
  34. 2 2
      netbox/templates/extras/exporttemplate.html
  35. 1 2
      netbox/templates/extras/journalentry.html
  36. 0 1
      netbox/templates/extras/objectchange.html
  37. 0 1
      netbox/templates/extras/report.html
  38. 0 1
      netbox/templates/extras/script.html
  39. 0 5
      netbox/templates/extras/tag.html
  40. 0 5
      netbox/templates/extras/webhook.html
  41. 3 1
      netbox/templates/generic/object.html
  42. 1 2
      netbox/templates/ipam/aggregate.html
  43. 2 3
      netbox/templates/ipam/ipaddress.html
  44. 2 9
      netbox/templates/ipam/iprange/base.html
  45. 2 9
      netbox/templates/ipam/prefix/base.html
  46. 0 5
      netbox/templates/ipam/rir.html
  47. 0 5
      netbox/templates/ipam/role.html
  48. 0 5
      netbox/templates/ipam/routetarget.html
  49. 6 3
      netbox/templates/ipam/service.html
  50. 7 16
      netbox/templates/ipam/vlan/base.html
  51. 2 2
      netbox/templates/ipam/vlangroup.html
  52. 0 5
      netbox/templates/ipam/vrf.html
  53. 2 3
      netbox/templates/tenancy/tenant.html
  54. 2 3
      netbox/templates/tenancy/tenantgroup.html
  55. 5 11
      netbox/templates/virtualization/cluster/base.html
  56. 0 5
      netbox/templates/virtualization/clustergroup.html
  57. 0 5
      netbox/templates/virtualization/clustertype.html
  58. 1 2
      netbox/templates/virtualization/virtualmachine/base.html
  59. 2 5
      netbox/templates/virtualization/vminterface.html

+ 1 - 2
netbox/templates/circuits/circuit.html

@@ -3,9 +3,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'circuits:circuit_list' %}">Circuits</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'circuits:circuit_list' %}?provider={{ object.provider.pk }}">{{ object.provider }}</a></li>
-  <li class="breadcrumb-item">{{ object.cid }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/circuits/circuittype.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'circuits:circuittype_list' %}">Circuit Types</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/circuits/provider.html

@@ -3,11 +3,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'circuits:provider_list' %}">Providers</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row">
 	<div class="col col-md-4">

+ 1 - 2
netbox/templates/circuits/providernetwork.html

@@ -4,9 +4,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'circuits:providernetwork_list' %}">Provider Networks</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'circuits:providernetwork_list' %}?provider_id={{ object.provider_id }}">{{ object.provider }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/dcim/cable.html

@@ -4,11 +4,6 @@
 {% load perms %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:cable_list' %}">Cables</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block controls %}
 {% plugin_buttons object %}
 <div class="container mb-2 mx-0">

+ 0 - 5
netbox/templates/dcim/consoleport.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_consoleports' pk=object.device.pk %}">Console Ports</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 0 - 5
netbox/templates/dcim/consoleserverport.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_consoleserverports' pk=object.device.pk %}">Console Server Ports</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 1 - 2
netbox/templates/dcim/device/base.html

@@ -5,13 +5,12 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_list' %}">Devices</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'dcim:device_list' %}?site_id={{ object.site.pk }}">{{ object.site }}</a></li>
   {% if object.parent_bay %}
     <li class="breadcrumb-item"><a href="{% url 'dcim:device' pk=object.parent_bay.device.pk %}">{{ object.parent_bay.device }}</a></li>
     <li class="breadcrumb-item">{{ object.parent_bay }}</li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block extra_controls %}

+ 2 - 8
netbox/templates/dcim/device_component.html

@@ -3,13 +3,7 @@
 {% load perms %}
 {% load plugins %}
 
-{% block title %}{{ object.device }} / {{ object }}{% endblock %}
-
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_list' %}">Devices</a></li>
-  <li class="breadcrumb-item"><a href="{{ object.device.get_absolute_url }}">{{ object.device }}</a></li>
-  {% if breadcrumb_url %}
-    <li class="breadcrumb-item"><a href="{% url breadcrumb_url pk=object.device.pk %}">{{ object|meta:"verbose_name_plural"|bettertitle }}</a></li>
-  {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
+  {{ block.super }}
+  <li class="breadcrumb-item"><a href="{% url object|viewname:'list' %}?device_id={{ object.device.pk }}">{{ object.device }}</a></li>
 {% endblock %}

+ 0 - 5
netbox/templates/dcim/devicebay.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_devicebays' pk=object.device.pk %}">Device Bays</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 0 - 1
netbox/templates/dcim/devicerole.html

@@ -4,7 +4,6 @@
 
 {% block breadcrumbs %}
   <li class="breadcrumb-item"><a href="{% url 'dcim:devicerole_list' %}">Device Roles</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 1 - 2
netbox/templates/dcim/devicetype.html

@@ -6,9 +6,8 @@
 {% block title %}{{ object.manufacturer }} {{ object.model }}{% endblock %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:devicetype_list' %}">Device Types</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'dcim:devicetype_list' %}?manufacturer_id={{ object.manufacturer.pk }}">{{ object.manufacturer }}</a></li>
-  <li class="breadcrumb-item">{{ object.model }}</li>
 {% endblock %}
 
 {% block controls %}

+ 0 - 6
netbox/templates/dcim/frontport.html

@@ -2,12 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_frontports' pk=object.device.pk %}">Front Ports</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 0 - 5
netbox/templates/dcim/interface.html

@@ -3,11 +3,6 @@
 {% load plugins %}
 {% load render_table from django_tables2 %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_interfaces' pk=object.device.pk %}">Interfaces</a></li>
-  <li class="breadcrumb-item">{{ object }}</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 m-1">

+ 0 - 5
netbox/templates/dcim/inventoryitem.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_inventory' pk=object.device.pk %}">Inventory Items</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 1 - 2
netbox/templates/dcim/location.html

@@ -3,11 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:location_list' %}">Locations</a></li>
+  {{ block.super }}
   {% for location in object.get_ancestors %}
     <li class="breadcrumb-item"><a href="{{ location.get_absolute_url }}">{{ location }}</a></li>
   {% endfor %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/dcim/manufacturer.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:manufacturer_list' %}">Manufacturers</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 4 - 2
netbox/templates/dcim/platform.html

@@ -3,8 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:platform_list' %}">Platforms</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
+  {{ block.super }}
+  {% if object.manufacturer %}
+    <li class="breadcrumb-item"><a href="{% url 'dcim:platform_list' %}?manufacturer={{ object.manufacturer.slug }}">{{ object.manufacturer }}</a></li>
+  {% endif %}
 {% endblock %}
 
 {% block content %}

+ 1 - 2
netbox/templates/dcim/powerfeed.html

@@ -5,13 +5,12 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:powerfeed_list' %}">Power Feeds</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'dcim:powerfeed_list' %}?site_id={{ object.power_panel.site.pk }}">{{ object.power_panel.site }}</a></li>
   <li class="breadcrumb-item"><a href="{% url 'dcim:powerfeed_list' %}?power_panel_id={{ object.power_panel.pk }}">{{ object.power_panel }}</a></li>
   {% if object.rack %}
     <li class="breadcrumb-item"><a href="{% url 'dcim:powerfeed_list' %}?rack_id={{ object.rack.pk }}">{{ object.rack }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/dcim/poweroutlet.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_poweroutlets' pk=object.device.pk %}">Power Outlets</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 1 - 2
netbox/templates/dcim/powerpanel.html

@@ -4,12 +4,11 @@
 {% load render_table from django_tables2 %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:powerpanel_list' %}">Power Panels</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'dcim:powerpanel_list' %}?site_id={{ object.site.pk }}">{{ object.site }}</a></li>
   {% if object.location %}
     <li class="breadcrumb-item"><a href="{{ object.location.get_absolute_url }}">{{ object.location }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/dcim/powerport.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_powerports' pk=object.device.pk %}">Power Ports</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row mb-3">
         <div class="col col-md-6">

+ 5 - 6
netbox/templates/dcim/rack.html

@@ -7,15 +7,14 @@
 {% block title %}Rack {{ object }}{% endblock %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:rack_list' %}">Racks</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'dcim:rack_list' %}?site_id={{ object.site.pk }}">{{ object.site }}</a></li>
-  {% if object.group %}
-    {% for group in object.group.get_ancestors %}
-      <li class="breadcrumb-item"><a href="{{ group.get_absolute_url }}">{{ group }}</a></li>
+  {% if object.location %}
+    {% for location in object.location.get_ancestors %}
+      <li class="breadcrumb-item"><a href="{% url 'dcim:rack_list' %}?location_id={{ location.pk }}">{{ location }}</a></li>
     {% endfor %}
-    <li class="breadcrumb-item"><a href="{{ object.group.get_absolute_url }}">{{ object.group }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'dcim:rack_list' %}?location_id={{ object.location.pk }}">{{ object.location }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block extra_controls %}

+ 2 - 2
netbox/templates/dcim/rackreservation.html

@@ -5,8 +5,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:rackreservation_list' %}">Rack Reservations</a></li>
-  <li class="breadcrumb-item"><a href="{{ object.rack.get_absolute_url }}">{{ object.rack }}</a></li>
+  {{ block.super }}
+  <li class="breadcrumb-item"><a href="{% url 'dcim:rackreservation_list' %}?rack_id={{ object.rack.pk }}">{{ object.rack }}</a></li>
   <li class="breadcrumb-item">Units {{ object.unit_list }}</li>
 {% endblock %}
 

+ 0 - 5
netbox/templates/dcim/rackrole.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:rackrole_list' %}">Rack Roles</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/dcim/rearport.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:device_rearports' pk=object.device.pk %}">Rear Ports</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-6">

+ 2 - 3
netbox/templates/dcim/region.html

@@ -3,11 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:region_list' %}">Region</a></li>
+  {{ block.super }}
   {% for region in object.get_ancestors %}
-    <li class="breadcrumb-item"><a href="{{ region.get_absolute_url }}">{{ region }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'dcim:region_list' %}?parent_id={{ region.pk }}">{{ region }}</a></li>
   {% endfor %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 8 - 4
netbox/templates/dcim/site.html

@@ -4,14 +4,18 @@
 {% load tz %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:site_list' %}">Sites</a></li>
+  {{ block.super }}
   {% if object.region %}
     {% for region in object.region.get_ancestors %}
-      <li class="breadcrumb-item"><a href="{{ region.get_absolute_url }}">{{ region }}</a></li>
+      <li class="breadcrumb-item"><a href="{% url 'dcim:site_list' %}?region_id={{ region.pk }}">{{ region }}</a></li>
     {% endfor %}
-    <li class="breadcrumb-item"><a href="{{ object.region.get_absolute_url }}">{{ object.region }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'dcim:site_list' %}?region_id={{ object.region.pk }}">{{ object.region }}</a></li>
+  {% elif object.group %}
+    {% for group in object.group.get_ancestors %}
+      <li class="breadcrumb-item"><a href="{% url 'dcim:site_list' %}?group_id={{ group.pk }}">{{ group }}</a></li>
+    {% endfor %}
+    <li class="breadcrumb-item"><a href="{% url 'dcim:site_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 2 - 3
netbox/templates/dcim/sitegroup.html

@@ -3,11 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:sitegroup_list' %}">Site Groups</a></li>
+  {{ block.super }}
   {% for sitegroup in object.get_ancestors %}
-    <li class="breadcrumb-item"><a href="{{ sitegroup.get_absolute_url }}">{{ sitegroup }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'dcim:sitegroup_list' %}?parent_id={{ sitegroup.pk }}">{{ sitegroup }}</a></li>
   {% endfor %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 8
netbox/templates/dcim/virtualchassis.html

@@ -3,14 +3,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'dcim:virtualchassis_list' %}">Virtual Chassis</a></li>
-  {% if object.master %}
-    <li class="breadcrumb-item"><a href="{% url 'dcim:virtualchassis_list' %}?site_id={{ object.master.site.pk }}">{{ object.master.site }}</a></li>
-  {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block buttons %}
   {% if perms.dcim.change_virtualchassis %}
     {% edit_button object %}

+ 0 - 5
netbox/templates/extras/configcontext.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load static %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:configcontext_list' %}">Config Contexts</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
     <div class="row">
         <div class="col col-md-5">

+ 0 - 5
netbox/templates/extras/customfield.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:customfield_list' %}">Custom Fields</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/extras/customlink.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:customlink_list' %}">Custom Links</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 2 - 2
netbox/templates/extras/exporttemplate.html

@@ -3,8 +3,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:exporttemplate_list' %}">Export Templates</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
+  {{ block.super }}
+  <li class="breadcrumb-item"><a href="{% url 'extras:exporttemplate_list' %}?content_type={{ object.content_type.pk }}">{{ object.content_type }}</a></li>
 {% endblock %}
 
 {% block content %}

+ 1 - 2
netbox/templates/extras/journalentry.html

@@ -3,9 +3,8 @@
 {% load static %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:journalentry_list' %}">Journal Entries</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url object.assigned_object|viewname:'journal' pk=object.assigned_object.pk %}">{{ object.assigned_object }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 1
netbox/templates/extras/objectchange.html

@@ -12,7 +12,6 @@
   {% elif object.changed_object %}
     <li class="breadcrumb-item">{{ object.changed_object }}</li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 1
netbox/templates/extras/report.html

@@ -6,7 +6,6 @@
 {% block breadcrumbs %}
   <li class="breadcrumb-item"><a href="{% url 'extras:report_list' %}">Reports</a></li>
   <li class="breadcrumb-item"><a href="{% url 'extras:report_list' %}#module.{{ report.module }}">{{ report.module|bettertitle }}</a></li>
-  <li class="breadcrumb-item">{{ report.name }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 1
netbox/templates/extras/script.html

@@ -8,7 +8,6 @@
 {% block breadcrumbs %}
   <li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}">Scripts</a></li>
   <li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}#module.{{ module }}">{{ module|bettertitle }}</a></li>
-  <li class="breadcrumb-item">{{ script }}</li>
 {% endblock %}
 
 {% block content %}

+ 0 - 5
netbox/templates/extras/tag.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:tag_list' %}">Tags</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row">
   <div class="col col-md-6">

+ 0 - 5
netbox/templates/extras/webhook.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'extras:webhook_list' %}">Webhooks</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 3 - 1
netbox/templates/generic/object.html

@@ -9,7 +9,9 @@
   {# Breadcrumbs #}
   <nav class="breadcrumb-container px-3" aria-label="breadcrumb">
     <ol class="breadcrumb">
-      {% block breadcrumbs %}{% endblock %}
+      {% block breadcrumbs %}
+        <li class="breadcrumb-item"><a href="{% url object|viewname:'list' %}">{{ object|meta:'verbose_name_plural'|bettertitle }}</a></li>
+      {% endblock %}
     </ol>
   </nav>
   {{ block.super }}

+ 1 - 2
netbox/templates/ipam/aggregate.html

@@ -4,9 +4,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:aggregate_list' %}">Aggregates</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'ipam:aggregate_list' %}?rir_id={{ object.rir.pk }}">{{ object.rir }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block extra_controls %}

+ 2 - 3
netbox/templates/ipam/ipaddress.html

@@ -4,11 +4,10 @@
 {% load render_table from django_tables2 %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:ipaddress_list' %}">IP Addresses</a></li>
+  {{ block.super }}
   {% if object.vrf %}
-    <li class="breadcrumb-item"><a href="{% url 'ipam:vrf' pk=object.vrf.pk %}">{{ object.vrf }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'ipam:ipaddress_list' %}?vrf_id={{ object.vrf.pk }}">{{ object.vrf }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 2 - 9
netbox/templates/ipam/iprange/base.html

@@ -3,17 +3,10 @@
 {% load helpers %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item">
-    <a href="{% url 'ipam:iprange_list' %}">IP Ranges</a>
-  </li>
+  {{ block.super }}
   {% if object.vrf %}
-    <li class="breadcrumb-item">
-      <a href="{% url 'ipam:vrf' pk=object.vrf.pk %}">{{ object.vrf }}</a>
-    </li>
+    <li class="breadcrumb-item"><a href="{% url 'ipam:iprange_list' %}?vrf_id={{ object.vrf.pk }}">{{ object.vrf }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">
-    {{ object }}
-  </li>
 {% endblock %}
 
 {% block tab_items %}

+ 2 - 9
netbox/templates/ipam/prefix/base.html

@@ -3,17 +3,10 @@
 {% load helpers %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item">
-    <a href="{% url 'ipam:prefix_list' %}">Prefixes</a>
-  </li>
+  {{ block.super }}
   {% if object.vrf %}
-  <li class="breadcrumb-item">
-    <a href="{% url 'ipam:vrf' pk=object.vrf.pk %}">{{ object.vrf }}</a>
-  </li>
+    <li class="breadcrumb-item"><a href="{% url 'ipam:prefix_list' %}?vrf_id={{ object.vrf.pk }}">{{ object.vrf }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">
-    {{ object }}
-  </li>
 {% endblock %}
 
 {% block tab_items %}

+ 0 - 5
netbox/templates/ipam/rir.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:rir_list' %}">RIRs</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/ipam/role.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:role_list' %}">Roles</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/ipam/routetarget.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:routetarget_list' %}">Route Targets</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row">
 	<div class="col col-md-6">

+ 6 - 3
netbox/templates/ipam/service.html

@@ -5,9 +5,12 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:service_list' %}">Services</a></li>
-  <li class="breadcrumb-item"><a href="{{ object.parent.get_absolute_url }}">{{ object.parent }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
+  {{ block.super }}
+  {% if object.device %}
+    <li class="breadcrumb-item"><a href="{% url 'ipam:service_list' %}?device_id={{ object.device.pk }}">{{ object.device }}</a></li>
+  {% elif object.virtual_machine %}
+    <li class="breadcrumb-item"><a href="{% url 'ipam:service_list' %}?virtual_machine_id={{ object.virtual_machine.pk }}">{{ object.virtual_machine }}</a></li>
+  {% endif %}
 {% endblock %}
 
 {% block controls %}

+ 7 - 16
netbox/templates/ipam/vlan/base.html

@@ -5,22 +5,13 @@
 {% block title %}VLAN {{ object }}{% endblock %}
 
 {% block breadcrumbs %}
-<li class="breadcrumb-item">
-  <a href="{% url 'ipam:vlan_list' %}">VLANs</a>
-</li>
-{% if object.site %}
-<li class="breadcrumb-item">
-  <a href="{% url 'ipam:vlan_list' %}?site_id={{ object.site.pk }}">{{ object.site }}</a>
-</li>
-{% endif %}
-{% if object.group %}
-<li class="breadcrumb-item">
-  <a href="{% url 'ipam:vlan_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a>
-</li>
-{% endif %}
-<li class="breadcrumb-item">
-  {{ object }}
-</li>
+  {{ block.super }}
+  {% if object.site %}
+    <li class="breadcrumb-item"><a href="{% url 'ipam:vlan_list' %}?site_id={{ object.site.pk }}">{{ object.site }}</a></li>
+  {% endif %}
+  {% if object.group %}
+    <li class="breadcrumb-item"><a href="{% url 'ipam:vlan_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a></li>
+  {% endif %}
 {% endblock %}
 
 {% block tabs %}

+ 2 - 2
netbox/templates/ipam/vlangroup.html

@@ -3,11 +3,11 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:vlangroup_list' %}">VLAN Groups</a></li>
+  {{ block.super }}
   {% if object.scope %}
+    {# TODO: This should link to a filtered list of VLANGroups #}
     <li class="breadcrumb-item"><a href="{{ object.scope.get_absolute_url }}">{{ object.scope }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block buttons %}

+ 0 - 5
netbox/templates/ipam/vrf.html

@@ -5,11 +5,6 @@
 
 {% block title %}VRF {{ object }}{% endblock %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'ipam:vrf_list' %}">VRFs</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row">
 	<div class="col col-md-6">

+ 2 - 3
netbox/templates/tenancy/tenant.html

@@ -3,11 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'tenancy:tenant_list' %}">Tenants</a></li>
+  {{ block.super }}
   {% if object.group %}
-  <li class="breadcrumb-item"><a href="{% url 'tenancy:tenant_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'tenancy:tenant_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a></li>
   {% endif %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock breadcrumbs %}
 
 {% block content %}

+ 2 - 3
netbox/templates/tenancy/tenantgroup.html

@@ -3,11 +3,10 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'tenancy:tenantgroup_list' %}">Tenant Groups</a></li>
+  {{ block.super }}
   {% for tenantgroup in object.get_ancestors %}
-    <li class="breadcrumb-item"><a href="{{ tenantgroup.get_absolute_url }}">{{ tenantgroup }}</a></li>
+    <li class="breadcrumb-item"><a href="{% url 'tenancy:tenantgroup_list' %}?parent={{ tenantgroup.slug }}">{{ tenantgroup }}</a></li>
   {% endfor %}
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block content %}

+ 5 - 11
netbox/templates/virtualization/cluster/base.html

@@ -4,17 +4,11 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-<li class="breadcrumb-item">
-  <a href="{{ object.type.get_absolute_url }}">{{ object.type }}</a>
-</li>
-{% if object.group %}
-<li class="breadcrumb-item">
-  <a href="{{ object.group.get_absolute_url }}">{{ object.group }}</a>
-</li>
-{% endif %}
-<li class="breadcrumb-item">
-  {{ object }}
-</li>
+  {{ block.super }}
+  <li class="breadcrumb-item"><a href="{% url 'virtualization:cluster_list' %}?type_id={{ object.type.pk }}">{{ object.type }}</a></li>
+  {% if object.group %}
+    <li class="breadcrumb-item"><a href="{% url 'virtualization:cluster_list' %}?group_id={{ object.group.pk }}">{{ object.group }}</a></li>
+  {% endif %}
 {% endblock %}
 
 {% block extra_controls %}

+ 0 - 5
netbox/templates/virtualization/clustergroup.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'virtualization:clustertype_list' %}">Cluster Groups</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 0 - 5
netbox/templates/virtualization/clustertype.html

@@ -2,11 +2,6 @@
 {% load helpers %}
 {% load plugins %}
 
-{% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'virtualization:clustertype_list' %}">Cluster Types</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
-{% endblock %}
-
 {% block content %}
 <div class="row mb-3">
 	<div class="col col-md-6">

+ 1 - 2
netbox/templates/virtualization/virtualmachine/base.html

@@ -4,9 +4,8 @@
 {% load plugins %}
 
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a></li>
+  {{ block.super }}
   <li class="breadcrumb-item"><a href="{% url 'virtualization:virtualmachine_list' %}?cluster_id={{ object.cluster.pk }}">{{ object.cluster }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
 {% endblock %}
 
 {% block extra_controls %}

+ 2 - 5
netbox/templates/virtualization/vminterface.html

@@ -3,12 +3,9 @@
 {% load plugins %}
 {% load render_table from django_tables2 %}
 
-{% block title %}{{ object.virtual_machine }} / {{ object.name }}{% endblock %}
-
 {% block breadcrumbs %}
-  <li class="breadcrumb-item"><a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a></li>
-  <li class="breadcrumb-item"><a href="{{ object.virtual_machine.get_absolute_url }}">{{ object.virtual_machine }}</a></li>
-  <li class="breadcrumb-item">{{ object }}</li>
+  {{ block.super }}
+  <li class="breadcrumb-item"><a href="{% url 'virtualization:vminterface_list' %}?virtual_machine_id={{ object.virtual_machine.pk }}">{{ object.virtual_machine }}</a></li>
 {% endblock %}
 
 {% block content %}