Selaa lähdekoodia

Fixes #4894: Fix display of device/VM counts on platforms list

Jeremy Stretch 5 vuotta sitten
vanhempi
commit
bb4f21d5ee
3 muutettua tiedostoa jossa 20 lisäystä ja 11 poistoa
  1. 2 1
      docs/release-notes/version-2.8.md
  2. 16 8
      netbox/dcim/tables.py
  3. 2 2
      netbox/dcim/views.py

+ 2 - 1
docs/release-notes/version-2.8.md

@@ -6,8 +6,9 @@
 
 
 * [#4875](https://github.com/netbox-community/netbox/issues/4875) - Fix documentation for image attachments
 * [#4875](https://github.com/netbox-community/netbox/issues/4875) - Fix documentation for image attachments
 * [#4876](https://github.com/netbox-community/netbox/issues/4876) - Fix labels for sites in staging or decommissioning status
 * [#4876](https://github.com/netbox-community/netbox/issues/4876) - Fix labels for sites in staging or decommissioning status
-* [#4880](https://github.com/netbox-community/netbox/issues/4880) - Fix remove tagged vlans if not assigned in bulk interface editting
+* [#4880](https://github.com/netbox-community/netbox/issues/4880) - Fix removal of tagged VLANs if not assigned in bulk interface editing
 * [#4887](https://github.com/netbox-community/netbox/issues/4887) - Don't disable NAPALM tabs when device has no primary IP
 * [#4887](https://github.com/netbox-community/netbox/issues/4887) - Don't disable NAPALM tabs when device has no primary IP
+* [#4894](https://github.com/netbox-community/netbox/issues/4894) - Fix display of device/VM counts on platforms list
 
 
 ---
 ---
 
 

+ 16 - 8
netbox/dcim/tables.py

@@ -94,6 +94,14 @@ MANUFACTURER_ACTIONS = """
 {% endif %}
 {% endif %}
 """
 """
 
 
+DEVICEROLE_DEVICE_COUNT = """
+<a href="{% url 'dcim:device_list' %}?role={{ record.slug }}">{{ value|default:0 }}</a>
+"""
+
+DEVICEROLE_VM_COUNT = """
+<a href="{% url 'virtualization:virtualmachine_list' %}?role={{ record.slug }}">{{ value|default:0 }}</a>
+"""
+
 DEVICEROLE_ACTIONS = """
 DEVICEROLE_ACTIONS = """
 <a href="{% url 'dcim:devicerole_changelog' slug=record.slug %}" class="btn btn-default btn-xs" title="Change log">
 <a href="{% url 'dcim:devicerole_changelog' slug=record.slug %}" class="btn btn-default btn-xs" title="Change log">
     <i class="fa fa-history"></i>
     <i class="fa fa-history"></i>
@@ -103,12 +111,12 @@ DEVICEROLE_ACTIONS = """
 {% endif %}
 {% endif %}
 """
 """
 
 
-DEVICE_COUNT = """
-<a href="{% url 'dcim:device_list' %}?role={{ record.slug }}">{{ value|default:0 }}</a>
+PLATFORM_DEVICE_COUNT = """
+<a href="{% url 'dcim:device_list' %}?platform={{ record.slug }}">{{ value|default:0 }}</a>
 """
 """
 
 
-VM_COUNT = """
-<a href="{% url 'virtualization:virtualmachine_list' %}?role={{ record.slug }}">{{ value|default:0 }}</a>
+PLATFORM_VM_COUNT = """
+<a href="{% url 'virtualization:virtualmachine_list' %}?platform={{ record.slug }}">{{ value|default:0 }}</a>
 """
 """
 
 
 PLATFORM_ACTIONS = """
 PLATFORM_ACTIONS = """
@@ -697,11 +705,11 @@ class DeviceBayTemplateTable(BaseTable):
 class DeviceRoleTable(BaseTable):
 class DeviceRoleTable(BaseTable):
     pk = ToggleColumn()
     pk = ToggleColumn()
     device_count = tables.TemplateColumn(
     device_count = tables.TemplateColumn(
-        template_code=DEVICE_COUNT,
+        template_code=DEVICEROLE_DEVICE_COUNT,
         verbose_name='Devices'
         verbose_name='Devices'
     )
     )
     vm_count = tables.TemplateColumn(
     vm_count = tables.TemplateColumn(
-        template_code=VM_COUNT,
+        template_code=DEVICEROLE_VM_COUNT,
         verbose_name='VMs'
         verbose_name='VMs'
     )
     )
     color = tables.TemplateColumn(
     color = tables.TemplateColumn(
@@ -728,11 +736,11 @@ class DeviceRoleTable(BaseTable):
 class PlatformTable(BaseTable):
 class PlatformTable(BaseTable):
     pk = ToggleColumn()
     pk = ToggleColumn()
     device_count = tables.TemplateColumn(
     device_count = tables.TemplateColumn(
-        template_code=DEVICE_COUNT,
+        template_code=PLATFORM_DEVICE_COUNT,
         verbose_name='Devices'
         verbose_name='Devices'
     )
     )
     vm_count = tables.TemplateColumn(
     vm_count = tables.TemplateColumn(
-        template_code=VM_COUNT,
+        template_code=PLATFORM_VM_COUNT,
         verbose_name='VMs'
         verbose_name='VMs'
     )
     )
     actions = tables.TemplateColumn(
     actions = tables.TemplateColumn(

+ 2 - 2
netbox/dcim/views.py

@@ -1060,8 +1060,8 @@ class DeviceRoleBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 class PlatformListView(PermissionRequiredMixin, ObjectListView):
 class PlatformListView(PermissionRequiredMixin, ObjectListView):
     permission_required = 'dcim.view_platform'
     permission_required = 'dcim.view_platform'
     queryset = Platform.objects.annotate(
     queryset = Platform.objects.annotate(
-        device_count=get_subquery(Device, 'device_role'),
-        vm_count=get_subquery(VirtualMachine, 'role')
+        device_count=get_subquery(Device, 'platform'),
+        vm_count=get_subquery(VirtualMachine, 'platform')
     )
     )
     table = tables.PlatformTable
     table = tables.PlatformTable