Просмотр исходного кода

Closes #5134: Display full hierarchy in breadcrumbs for sites/racks

Jeremy Stretch 5 лет назад
Родитель
Сommit
4d9da4a1f8

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

@@ -5,6 +5,7 @@
 ### Enhancements
 ### Enhancements
 
 
 * [#1755](https://github.com/netbox-community/netbox/issues/1755) - Toggle order in which rack elevations are displayed
 * [#1755](https://github.com/netbox-community/netbox/issues/1755) - Toggle order in which rack elevations are displayed
+* [#5134](https://github.com/netbox-community/netbox/issues/5134) - Display full hierarchy in breadcrumbs for sites/racks
 
 
 ### Bug Fixes
 ### Bug Fixes
 
 

+ 7 - 8
netbox/templates/dcim/device.html

@@ -11,11 +11,8 @@
     <div class="row noprint">
     <div class="row noprint">
         <div class="col-sm-8 col-md-9">
         <div class="col-sm-8 col-md-9">
         <ol class="breadcrumb">
         <ol class="breadcrumb">
-            <li><a href="{% url 'dcim:site' slug=device.site.slug %}">{{ device.site }}</a></li>
-            {% if device.rack %}
-                <li><a href="{% url 'dcim:rack_list' %}?site={{ device.site.slug }}">Racks</a></li>
-                <li><a href="{% url 'dcim:rack' pk=device.rack.pk %}">{{ device.rack }}</a></li>
-            {% endif %}
+            <li><a href="{% url 'dcim:device_list' %}">Devices</a></li>
+            <li><a href="{% url 'dcim:device_list' %}?site={{ device.site.slug }}">{{ device.site }}</a></li>
             {% if device.parent_bay %}
             {% if device.parent_bay %}
                 <li><a href="{% url 'dcim:device' pk=device.parent_bay.device.pk %}">{{ device.parent_bay.device }}</a></li>
                 <li><a href="{% url 'dcim:device' pk=device.parent_bay.device.pk %}">{{ device.parent_bay.device }}</a></li>
                 <li>{{ device.parent_bay }}</li>
                 <li>{{ device.parent_bay }}</li>
@@ -101,7 +98,7 @@
         </li>
         </li>
         <li role="presentation"{% if active_tab == 'inventory' %} class="active"{% endif %}>
         <li role="presentation"{% if active_tab == 'inventory' %} class="active"{% endif %}>
             <a href="{% url 'dcim:device_inventory' pk=device.pk %}">
             <a href="{% url 'dcim:device_inventory' pk=device.pk %}">
-                Inventory <span class="badge">{{ device.inventoryitems.unrestricted.count }}</span>
+                Inventory <span class="badge">{{ device.inventoryitems.count }}</span>
             </a>
             </a>
         </li>
         </li>
         {% if perms.dcim.napalm_read_device %}
         {% if perms.dcim.napalm_read_device %}
@@ -151,8 +148,10 @@
                         <td>
                         <td>
                             {% if device.rack %}
                             {% if device.rack %}
                                 {% if device.rack.group %}
                                 {% if device.rack.group %}
-                                    <a href="{{ device.rack.group.get_absolute_url }}">{{ device.rack.group }}</a>
-                                    <i class="fa fa-angle-right"></i>
+                                    {% for group in device.rack.group.get_ancestors %}
+                                        <a href="{{ group.get_absolute_url }}">{{ group }}</a> <i class="fa fa-caret-right"></i>
+                                    {% endfor %}
+                                    <a href="{{ device.rack.group.get_absolute_url }}">{{ device.rack.group }}</a> <i class="fa fa-caret-right"></i>
                                 {% endif %}
                                 {% endif %}
                                 <a href="{% url 'dcim:rack' pk=device.rack.pk %}">{{ device.rack }}</a>
                                 <a href="{% url 'dcim:rack' pk=device.rack.pk %}">{{ device.rack }}</a>
                             {% else %}
                             {% else %}

+ 10 - 1
netbox/templates/dcim/rack.html

@@ -11,6 +11,12 @@
             <ol class="breadcrumb">
             <ol class="breadcrumb">
                 <li><a href="{% url 'dcim:rack_list' %}">Racks</a></li>
                 <li><a href="{% url 'dcim:rack_list' %}">Racks</a></li>
                 <li><a href="{% url 'dcim:rack_list' %}?site={{ rack.site.slug }}">{{ rack.site }}</a></li>
                 <li><a href="{% url 'dcim:rack_list' %}?site={{ rack.site.slug }}">{{ rack.site }}</a></li>
+                {% if rack.group %}
+                    {% for group in rack.group.get_ancestors %}
+                        <li><a href="{{ group.get_absolute_url }}">{{ group }}</a></li>
+                    {% endfor %}
+                    <li><a href="{{ rack.group.get_absolute_url }}">{{ rack.group }}</a></li>
+                {% endif %}
                 <li>{{ rack }}</li>
                 <li>{{ rack }}</li>
             </ol>
             </ol>
         </div>
         </div>
@@ -87,7 +93,10 @@
                     <td>Group</td>
                     <td>Group</td>
                     <td>
                     <td>
                         {% if rack.group %}
                         {% if rack.group %}
-                            <a href="{% url 'dcim:rack_list' %}?site={{ rack.site.slug }}&group={{ rack.group.slug }}">{{ rack.group }}</a>
+                            {% for group in rack.group.get_ancestors %}
+                                <a href="{{ group.get_absolute_url }}">{{ group }}</a> <i class="fa fa-caret-right"></i>
+                            {% endfor %}
+                            <a href="{{ rack.group.get_absolute_url }}">{{ rack.group }}</a>
                         {% else %}
                         {% else %}
                             <span class="text-muted">None</span>
                             <span class="text-muted">None</span>
                         {% endif %}
                         {% endif %}

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

@@ -12,7 +12,7 @@
             <ol class="breadcrumb">
             <ol class="breadcrumb">
                 <li><a href="{% url 'dcim:site_list' %}">Sites</a></li>
                 <li><a href="{% url 'dcim:site_list' %}">Sites</a></li>
                 {% if site.region %}
                 {% if site.region %}
-                    {% for region in site.region.get_ancestors.unrestricted %}
+                    {% for region in site.region.get_ancestors %}
                         <li><a href="{{ region.get_absolute_url }}">{{ region }}</a></li>
                         <li><a href="{{ region.get_absolute_url }}">{{ region }}</a></li>
                     {% endfor %}
                     {% endfor %}
                     <li><a href="{{ site.region.get_absolute_url }}">{{ site.region }}</a></li>
                     <li><a href="{{ site.region.get_absolute_url }}">{{ site.region }}</a></li>
@@ -86,7 +86,7 @@
                     <td>Region</td>
                     <td>Region</td>
                     <td>
                     <td>
                         {% if site.region %}
                         {% if site.region %}
-                            {% for region in site.region.get_ancestors.unrestricted %}
+                            {% for region in site.region.get_ancestors %}
                                 <a href="{{ region.get_absolute_url }}">{{ region }}</a>
                                 <a href="{{ region.get_absolute_url }}">{{ region }}</a>
                                 <i class="fa fa-angle-right"></i>
                                 <i class="fa fa-angle-right"></i>
                             {% endfor %}
                             {% endfor %}