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

Fix trace_paths command for wireless links

jeremystretch 4 лет назад
Родитель
Сommit
ec0560a2c5
2 измененных файлов с 8 добавлено и 2 удалено
  1. 5 1
      netbox/dcim/management/commands/trace_paths.py
  2. 3 1
      netbox/dcim/tables/template_code.py

+ 5 - 1
netbox/dcim/management/commands/trace_paths.py

@@ -1,6 +1,7 @@
 from django.core.management.base import BaseCommand
 from django.core.management.base import BaseCommand
 from django.core.management.color import no_style
 from django.core.management.color import no_style
 from django.db import connection
 from django.db import connection
+from django.db.models import Q
 
 
 from dcim.models import CablePath, ConsolePort, ConsoleServerPort, Interface, PowerFeed, PowerOutlet, PowerPort
 from dcim.models import CablePath, ConsolePort, ConsoleServerPort, Interface, PowerFeed, PowerOutlet, PowerPort
 from dcim.signals import create_cablepath
 from dcim.signals import create_cablepath
@@ -67,7 +68,10 @@ class Command(BaseCommand):
 
 
         # Retrace paths
         # Retrace paths
         for model in ENDPOINT_MODELS:
         for model in ENDPOINT_MODELS:
-            origins = model.objects.filter(cable__isnull=False)
+            params = Q(cable__isnull=False)
+            if hasattr(model, 'wireless_link'):
+                params |= Q(wireless_link__isnull=False)
+            origins = model.objects.filter(params)
             if not options['force']:
             if not options['force']:
                 origins = origins.filter(_path__isnull=True)
                 origins = origins.filter(_path__isnull=True)
             origins_count = origins.count()
             origins_count = origins.count()

+ 3 - 1
netbox/dcim/tables/template_code.py

@@ -195,8 +195,10 @@ INTERFACE_BUTTONS = """
         <i class="mdi mdi-plus-thick" aria-hidden="true"></i>
         <i class="mdi mdi-plus-thick" aria-hidden="true"></i>
     </a>
     </a>
 {% endif %}
 {% endif %}
-{% if record.cable %}
+{% if record.link %}
     <a href="{% url 'dcim:interface_trace' pk=record.pk %}" class="btn btn-primary btn-sm" title="Trace"><i class="mdi mdi-transit-connection-variant"></i></a>
     <a href="{% url 'dcim:interface_trace' pk=record.pk %}" class="btn btn-primary btn-sm" title="Trace"><i class="mdi mdi-transit-connection-variant"></i></a>
+{% endif %}
+{% if record.cable %}
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
     {% include 'dcim/inc/cable_toggle_buttons.html' with cable=record.cable %}
     {% if perms.dcim.delete_cable %}
     {% if perms.dcim.delete_cable %}
         <a href="{% url 'dcim:cable_delete' pk=record.cable.pk %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" title="Remove cable" class="btn btn-danger btn-sm">
         <a href="{% url 'dcim:cable_delete' pk=record.cable.pk %}?return_url={% url 'dcim:device_interfaces' pk=object.pk %}" title="Remove cable" class="btn btn-danger btn-sm">