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

Fixes #5090: Fix status display for console/power/interface connections

Jeremy Stretch 5 лет назад
Родитель
Сommit
5d7935c855
2 измененных файлов с 17 добавлено и 1 удалено
  1. 1 0
      docs/release-notes/version-2.9.md
  2. 16 1
      netbox/dcim/tables.py

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

@@ -10,6 +10,7 @@
 * [#5081](https://github.com/netbox-community/netbox/issues/5081) - Fix exception during webhook processing with custom select field
 * [#5085](https://github.com/netbox-community/netbox/issues/5085) - Fix ordering by assignment in IP addresses table
 * [#5087](https://github.com/netbox-community/netbox/issues/5087) - Restore label field when editing console server ports, power ports, and power outlets
+* [#5090](https://github.com/netbox-community/netbox/issues/5090) - Fix status display for console/power/interface connections
 
 ---
 

+ 16 - 1
netbox/dcim/tables.py

@@ -152,6 +152,10 @@ INTERFACE_TAGGED_VLANS = """
 {% endfor %}
 """
 
+CONNECTION_STATUS = """
+<span class="label label-{% if record.connection_status %}success{% else %}danger{% endif %}">{{ record.get_connection_status_display }}</span>
+"""
+
 
 #
 # Regions
@@ -916,7 +920,10 @@ class ConsoleConnectionTable(BaseTable):
     name = tables.Column(
         verbose_name='Console Port'
     )
-    connection_status = BooleanColumn()
+    connection_status = tables.TemplateColumn(
+        template_code=CONNECTION_STATUS,
+        verbose_name='Status'
+    )
 
     class Meta(BaseTable.Meta):
         model = ConsolePort
@@ -941,6 +948,10 @@ class PowerConnectionTable(BaseTable):
     name = tables.Column(
         verbose_name='Power Port'
     )
+    connection_status = tables.TemplateColumn(
+        template_code=CONNECTION_STATUS,
+        verbose_name='Status'
+    )
 
     class Meta(BaseTable.Meta):
         model = PowerPort
@@ -972,6 +983,10 @@ class InterfaceConnectionTable(BaseTable):
         args=[Accessor('_connected_interface__pk')],
         verbose_name='Interface B'
     )
+    connection_status = tables.TemplateColumn(
+        template_code=CONNECTION_STATUS,
+        verbose_name='Status'
+    )
 
     class Meta(BaseTable.Meta):
         model = Interface