diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index fed8041bb..e318babb0 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -26,6 +26,7 @@ __all__ = ( 'DeviceFrontPortTable', 'DeviceImportTable', 'DeviceInterfaceTable', + 'DeviceInventoryItemTable', 'DevicePowerPortTable', 'DevicePowerOutletTable', 'DeviceRearPortTable', @@ -566,6 +567,26 @@ class InventoryItemTable(DeviceComponentTable): default_columns = ('pk', 'device', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag') +class DeviceInventoryItemTable(DeviceBayTable): + name = tables.TemplateColumn( + template_code='' + '{{ value }}' + ) + actions = ButtonsColumn( + model=InventoryItem, + buttons=('edit', 'delete') + ) + + class Meta(DeviceComponentTable.Meta): + model = InventoryItem + fields = ( + 'pk', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description', 'tags', 'actions', + ) + default_columns = ( + 'pk', 'name', 'label', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description', 'actions', + ) + + # # Virtual chassis # diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 54c29e836..fe652576b 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1086,6 +1086,9 @@ class DeviceView(ObjectView): inventoryitems = InventoryItem.objects.restrict(request.user, 'view').filter( device=device ).prefetch_related('manufacturer') + inventoryitem_table = tables.DeviceInventoryItemTable(inventoryitems, orderable=False) + if request.user.has_perm('dcim.change_inventoryitem') or request.user.has_perm('dcim.delete_inventoryitem'): + devicebay_table.columns.show('pk') # Services services = Service.objects.restrict(request.user, 'view').filter(device=device) @@ -1112,7 +1115,7 @@ class DeviceView(ObjectView): 'frontport_table': frontport_table, 'rearport_table': rearport_table, 'devicebay_table': devicebay_table, - 'inventoryitems': inventoryitems, + 'inventoryitem_table': inventoryitem_table, 'services': services, 'secrets': secrets, 'vc_members': vc_members, diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index ae8636be1..d7b35d3d7 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -146,7 +146,7 @@ Device Bays {% badge devicebay_table.rows|length %}
- {% endif %} - | Name | -Manufacturer | -Part ID | -Serial Number | -Asset Tag | -Discovered | -Description | -- |
---|