Przeglądaj źródła

Merge pull request #5820 from stuntguy3000/develop

Fix Primary IP Sorting Issues for Devices and VMs
Jeremy Stretch 5 lat temu
rodzic
commit
a87f34ebb3
2 zmienionych plików z 26 dodań i 10 usunięć
  1. 13 5
      netbox/dcim/tables/devices.py
  2. 13 5
      netbox/virtualization/tables.py

+ 13 - 5
netbox/dcim/tables/devices.py

@@ -1,5 +1,6 @@
 import django_tables2 as tables
 from django_tables2.utils import Accessor
+from django.conf import settings
 
 from dcim.models import (
     ConsolePort, ConsoleServerPort, Device, DeviceBay, DeviceRole, FrontPort, Interface, InventoryItem, Platform,
@@ -127,11 +128,18 @@ class DeviceTable(BaseTable):
         verbose_name='Type',
         text=lambda record: record.device_type.display_name
     )
-    primary_ip = tables.Column(
-        linkify=True,
-        order_by=('primary_ip6', 'primary_ip4'),
-        verbose_name='IP Address'
-    )
+    if settings.PREFER_IPV4:
+        primary_ip = tables.Column(
+            linkify=True,
+            order_by=('primary_ip4', 'primary_ip6'),
+            verbose_name='IP Address'
+        )
+    else:
+        primary_ip = tables.Column(
+            linkify=True,
+            order_by=('primary_ip6', 'primary_ip4'),
+            verbose_name='IP Address'
+        )
     primary_ip4 = tables.Column(
         linkify=True,
         verbose_name='IPv4 Address'

+ 13 - 5
netbox/virtualization/tables.py

@@ -1,5 +1,5 @@
 import django_tables2 as tables
-
+from django.conf import settings
 from dcim.tables.devices import BaseInterfaceTable
 from tenancy.tables import COL_TENANT
 from utilities.tables import (
@@ -125,10 +125,18 @@ class VirtualMachineDetailTable(VirtualMachineTable):
         linkify=True,
         verbose_name='IPv6 Address'
     )
-    primary_ip = tables.Column(
-        linkify=True,
-        verbose_name='IP Address'
-    )
+    if settings.PREFER_IPV4:
+        primary_ip = tables.Column(
+            linkify=True,
+            order_by=('primary_ip4', 'primary_ip6'),
+            verbose_name='IP Address'
+        )
+    else:
+        primary_ip = tables.Column(
+            linkify=True,
+            order_by=('primary_ip6', 'primary_ip4'),
+            verbose_name='IP Address'
+        )
     tags = TagColumn(
         url_name='virtualization:virtualmachine_list'
     )