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

Added template tag for tag links

Jeremy Stretch 7 лет назад
Родитель
Сommit
e6b3983a4e

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

@@ -112,7 +112,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ circuit.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in circuit.tags.all %}
+                            {% tag 'circuits:circuit_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 7 - 1
netbox/templates/circuits/provider.html

@@ -104,7 +104,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ provider.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in provider.tags.all %}
+                            {% tag 'circuits:provider_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
                 <tr>
                     <td>Circuits</td>

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

@@ -98,7 +98,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ device.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in device.tags.all %}
+                            {% tag 'dcim:device_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

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

@@ -75,7 +75,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ devicetype.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in devicetype.tags.all %}
+                            {% tag 'dcim:devicetype_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
                 <tr>
                     <td>Instances</td>

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

@@ -116,7 +116,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ rack.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in rack.tags.all %}
+                            {% tag 'dcim:rack_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
                 <tr>
                     <td>Devices</td>

+ 7 - 1
netbox/templates/dcim/site.html

@@ -135,7 +135,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ site.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in site.tags.all %}
+                            {% tag 'dcim:site_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

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

@@ -1,4 +1,5 @@
 {% extends '_base.html' %}
+{% load helpers %}
 
 {% block content %}
 <div class="row">
@@ -83,7 +84,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ aggregate.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in aggregate.tags.all %}
+                            {% tag 'ipam:aggregate_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 8 - 1
netbox/templates/ipam/ipaddress.html

@@ -1,4 +1,5 @@
 {% extends '_base.html' %}
+{% load helpers %}
 
 {% block content %}
 <div class="row">
@@ -135,7 +136,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ ipaddress.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in ipaddress.tags.all %}
+                            {% tag 'ipam:ipaddress_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 7 - 1
netbox/templates/ipam/prefix.html

@@ -123,7 +123,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ prefix.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in prefix.tags.all %}
+                            {% tag 'ipam:prefix_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
                 <tr>
                     <td>Utilization</td>

+ 8 - 1
netbox/templates/ipam/vlan.html

@@ -1,4 +1,5 @@
 {% extends '_base.html' %}
+{% load helpers %}
 
 {% block content %}
 {% include 'ipam/inc/vlan_header.html' with active_tab='vlan' %}
@@ -83,7 +84,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ vlan.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in vlan.tags.all %}
+                            {% tag 'ipam:vlan_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
 		    </table>
         </div>

+ 8 - 1
netbox/templates/ipam/vrf.html

@@ -1,4 +1,5 @@
 {% extends '_base.html' %}
+{% load helpers %}
 
 {% block content %}
 <div class="row">
@@ -80,7 +81,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ vrf.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in vrf.tags.all %}
+                            {% tag 'ipam:vrf_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
 		    </table>
         </div>

+ 8 - 1
netbox/templates/secrets/secret.html

@@ -1,5 +1,6 @@
 {% extends '_base.html' %}
 {% load static from staticfiles %}
+{% load helpers %}
 {% load secret_helpers %}
 
 {% block content %}
@@ -57,7 +58,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ secret.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in secret.tags.all %}
+                            {% tag 'secrets:secret_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 7 - 1
netbox/templates/tenancy/tenant.html

@@ -70,7 +70,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ tenant.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in tenant.tags.all %}
+                            {% tag 'tenancy:tenant_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 1 - 0
netbox/templates/utilities/templatetags/tag.html

@@ -0,0 +1 @@
+<a href="{% url url_name %}?tag={{ tag.slug }}"><span class="label label-default">{{ tag }}</span></a>

+ 7 - 1
netbox/templates/virtualization/cluster.html

@@ -78,7 +78,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ cluster.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in cluster.tags.all %}
+                            {% tag 'virtualization:cluster_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
                 <tr>
                     <td>Virtual Machines</td>

+ 7 - 1
netbox/templates/virtualization/virtualmachine.html

@@ -123,7 +123,13 @@
                 </tr>
                 <tr>
                     <td>Tags</td>
-                    <td>{{ vm.tags.all|join:" " }}</td>
+                    <td>
+                        {% for tag in vm.tags.all %}
+                            {% tag 'virtualization:vm_list' tag %}
+                        {% empty %}
+                            <span class="text-muted">N/A</span>
+                        {% endfor %}
+                    </td>
                 </tr>
             </table>
         </div>

+ 11 - 1
netbox/utilities/templatetags/helpers.py

@@ -1,7 +1,6 @@
 from __future__ import unicode_literals
 
 import datetime
-import pytz
 
 from django import template
 from django.utils.safestring import mark_safe
@@ -160,3 +159,14 @@ def utilization_graph(utilization, warning_threshold=75, danger_threshold=90):
         'warning_threshold': warning_threshold,
         'danger_threshold': danger_threshold,
     }
+
+
+@register.inclusion_tag('utilities/templatetags/tag.html')
+def tag(url_name, tag):
+    """
+    Display a link to the given object list filtered by a specific Tag slug.
+    """
+    return {
+        'url_name': url_name,
+        'tag': tag,
+    }