Ver Fonte

Closes #11554: Add module types count to manufacturers list

jeremystretch há 3 anos atrás
pai
commit
22a9df82e6

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

@@ -5,6 +5,7 @@
 ### Enhancements
 
 * [#10762](https://github.com/netbox-community/netbox/issues/10762) - Permit selection custom fields to have only one choice
+* [#11554](https://github.com/netbox-community/netbox/issues/11554) - Add module types count to manufacturers list
 * [#11585](https://github.com/netbox-community/netbox/issues/11585) - Add IP address filters for services
 
 ### Bug Fixes

+ 15 - 5
netbox/dcim/tables/devicetypes.py

@@ -34,10 +34,19 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable):
         url_params={'manufacturer_id': 'pk'},
         verbose_name='Device Types'
     )
-    inventoryitem_count = tables.Column(
+    moduletype_count = columns.LinkedCountColumn(
+        viewname='dcim:moduletype_list',
+        url_params={'manufacturer_id': 'pk'},
+        verbose_name='Module Types'
+    )
+    inventoryitem_count = columns.LinkedCountColumn(
+        viewname='dcim:inventoryitem_list',
+        url_params={'manufacturer_id': 'pk'},
         verbose_name='Inventory Items'
     )
-    platform_count = tables.Column(
+    platform_count = columns.LinkedCountColumn(
+        viewname='dcim:platform_list',
+        url_params={'manufacturer_id': 'pk'},
         verbose_name='Platforms'
     )
     slug = tables.Column()
@@ -48,11 +57,12 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable):
     class Meta(NetBoxTable.Meta):
         model = models.Manufacturer
         fields = (
-            'pk', 'id', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug',
-            'tags', 'contacts', 'actions', 'created', 'last_updated',
+            'pk', 'id', 'name', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', 'platform_count',
+            'description', 'slug', 'tags', 'contacts', 'actions', 'created', 'last_updated',
         )
         default_columns = (
-            'pk', 'name', 'devicetype_count', 'inventoryitem_count', 'platform_count', 'description', 'slug',
+            'pk', 'name', 'devicetype_count', 'moduletype_count', 'inventoryitem_count', 'platform_count',
+            'description', 'slug',
         )
 
 

+ 1 - 0
netbox/dcim/views.py

@@ -842,6 +842,7 @@ class RackReservationBulkDeleteView(generic.BulkDeleteView):
 class ManufacturerListView(generic.ObjectListView):
     queryset = Manufacturer.objects.annotate(
         devicetype_count=count_related(DeviceType, 'manufacturer'),
+        moduletype_count=count_related(ModuleType, 'manufacturer'),
         inventoryitem_count=count_related(InventoryItem, 'manufacturer'),
         platform_count=count_related(Platform, 'manufacturer')
     )