Explorar o código

limits vlans on interface tables (#17662)

* limits vlans on interface tables

* limits vlans on interface tables

* limits vlans on interface tables

* limits vlans on interface tables
Thor Selmer Dreier-Hansen hai 1 ano
pai
achega
364826d2d8
Modificáronse 2 ficheiros con 7 adicións e 0 borrados
  1. 3 0
      netbox/dcim/tables/devices.py
  2. 4 0
      netbox/dcim/tables/template_code.py

+ 3 - 0
netbox/dcim/tables/devices.py

@@ -588,6 +588,9 @@ class BaseInterfaceTable(NetBoxTable):
     def value_ip_addresses(self, value):
     def value_ip_addresses(self, value):
         return ",".join([str(obj.address) for obj in value.all()])
         return ",".join([str(obj.address) for obj in value.all()])
 
 
+    def value_tagged_vlans(self, value):
+        return ",".join([str(obj) for obj in value.all()])
+
 
 
 class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpointTable):
 class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpointTable):
     device = tables.Column(
     device = tables.Column(

+ 4 - 0
netbox/dcim/tables/template_code.py

@@ -56,9 +56,13 @@ INTERFACE_FHRPGROUPS = """
 
 
 INTERFACE_TAGGED_VLANS = """
 INTERFACE_TAGGED_VLANS = """
 {% if record.mode == 'tagged' %}
 {% if record.mode == 'tagged' %}
+  {% if value.count > 3 %}
+    <a href="{% url 'ipam:vlan_list' %}?{{ record|meta:"model_name" }}_id={{ record.pk }}">{{ value.count }} VLANs</a>
+  {% else %}
     {% for vlan in value.all %}
     {% for vlan in value.all %}
         <a href="{{ vlan.get_absolute_url }}">{{ vlan }}</a><br />
         <a href="{{ vlan.get_absolute_url }}">{{ vlan }}</a><br />
     {% endfor %}
     {% endfor %}
+  {% endif %}
 {% elif record.mode == 'tagged-all' %}
 {% elif record.mode == 'tagged-all' %}
   All
   All
 {% endif %}
 {% endif %}