Standardize linking to related objects in tables

This commit is contained in:
jeremystretch 2023-01-25 16:20:52 -05:00 committed by jeremystretch
parent 94797bb956
commit 48e5b395b2
5 changed files with 19 additions and 5 deletions

View File

@ -28,7 +28,9 @@ class CircuitTypeTable(NetBoxTable):
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='circuits:circuittype_list' url_name='circuits:circuittype_list'
) )
circuit_count = tables.Column( circuit_count = columns.LinkedCountColumn(
viewname='circuits:circuit_list',
url_params={'type_id': 'pk'},
verbose_name='Circuits' verbose_name='Circuits'
) )

View File

@ -107,6 +107,9 @@ class PlatformTable(NetBoxTable):
name = tables.Column( name = tables.Column(
linkify=True linkify=True
) )
manufacturer = tables.Column(
linkify=True
)
device_count = columns.LinkedCountColumn( device_count = columns.LinkedCountColumn(
viewname='dcim:device_list', viewname='dcim:device_list',
url_params={'platform_id': 'pk'}, url_params={'platform_id': 'pk'},

View File

@ -49,7 +49,6 @@ class ManufacturerTable(ContactsColumnMixin, NetBoxTable):
url_params={'manufacturer_id': 'pk'}, url_params={'manufacturer_id': 'pk'},
verbose_name='Platforms' verbose_name='Platforms'
) )
slug = tables.Column()
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='dcim:manufacturer_list' url_name='dcim:manufacturer_list'
) )

View File

@ -19,7 +19,11 @@ __all__ = (
class RackRoleTable(NetBoxTable): class RackRoleTable(NetBoxTable):
name = tables.Column(linkify=True) name = tables.Column(linkify=True)
rack_count = tables.Column(verbose_name='Racks') rack_count = columns.LinkedCountColumn(
viewname='dcim:rack_list',
url_params={'role_id': 'pk'},
verbose_name='Racks'
)
color = columns.ColorColumn() color = columns.ColorColumn()
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='dcim:rackrole_list' url_name='dcim:rackrole_list'

View File

@ -843,7 +843,10 @@ class ManufacturerBulkImportView(generic.BulkImportView):
class ManufacturerBulkEditView(generic.BulkEditView): class ManufacturerBulkEditView(generic.BulkEditView):
queryset = Manufacturer.objects.annotate( queryset = Manufacturer.objects.annotate(
devicetype_count=count_related(DeviceType, 'manufacturer') devicetype_count=count_related(DeviceType, 'manufacturer'),
moduletype_count=count_related(ModuleType, 'manufacturer'),
inventoryitem_count=count_related(InventoryItem, 'manufacturer'),
platform_count=count_related(Platform, 'manufacturer')
) )
filterset = filtersets.ManufacturerFilterSet filterset = filtersets.ManufacturerFilterSet
table = tables.ManufacturerTable table = tables.ManufacturerTable
@ -852,7 +855,10 @@ class ManufacturerBulkEditView(generic.BulkEditView):
class ManufacturerBulkDeleteView(generic.BulkDeleteView): class ManufacturerBulkDeleteView(generic.BulkDeleteView):
queryset = Manufacturer.objects.annotate( queryset = Manufacturer.objects.annotate(
devicetype_count=count_related(DeviceType, 'manufacturer') devicetype_count=count_related(DeviceType, 'manufacturer'),
moduletype_count=count_related(ModuleType, 'manufacturer'),
inventoryitem_count=count_related(InventoryItem, 'manufacturer'),
platform_count=count_related(Platform, 'manufacturer')
) )
table = tables.ManufacturerTable table = tables.ManufacturerTable