From 06ae424b80f2fca5b6940f55c63084b0fede748c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 1 Jul 2020 15:12:05 -0400 Subject: [PATCH] #4416: Add bulk rename view for InventoryItem --- netbox/dcim/urls.py | 2 +- netbox/dcim/views.py | 4 + netbox/templates/dcim/device_inventory.html | 108 +++++++++---------- netbox/templates/dcim/inc/inventoryitem.html | 33 ++++-- 4 files changed, 86 insertions(+), 61 deletions(-) diff --git a/netbox/dcim/urls.py b/netbox/dcim/urls.py index 831d40402..7af91f0ae 100644 --- a/netbox/dcim/urls.py +++ b/netbox/dcim/urls.py @@ -320,7 +320,7 @@ urlpatterns = [ path('inventory-items/add/', views.InventoryItemCreateView.as_view(), name='inventoryitem_add'), path('inventory-items/import/', views.InventoryItemBulkImportView.as_view(), name='inventoryitem_import'), path('inventory-items/edit/', views.InventoryItemBulkEditView.as_view(), name='inventoryitem_bulk_edit'), - # TODO: Bulk rename view for InventoryItems + path('inventory-items/rename/', views.InventoryItemBulkRenameView.as_view(), name='inventoryitem_bulk_rename'), path('inventory-items/delete/', views.InventoryItemBulkDeleteView.as_view(), name='inventoryitem_bulk_delete'), path('inventory-items//', views.InventoryItemView.as_view(), name='inventoryitem'), path('inventory-items//edit/', views.InventoryItemEditView.as_view(), name='inventoryitem_edit'), diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 4456e408d..101c3ea6e 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1761,6 +1761,10 @@ class InventoryItemBulkEditView(BulkEditView): form = forms.InventoryItemBulkEditForm +class InventoryItemBulkRenameView(BulkRenameView): + queryset = InventoryItem.objects.all() + + class InventoryItemBulkDeleteView(BulkDeleteView): queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer') table = tables.InventoryItemTable diff --git a/netbox/templates/dcim/device_inventory.html b/netbox/templates/dcim/device_inventory.html index 1a7e5d793..69afbb6a1 100644 --- a/netbox/templates/dcim/device_inventory.html +++ b/netbox/templates/dcim/device_inventory.html @@ -5,61 +5,61 @@ {% block content %}
-
-
-
- Chassis -
- - - - - - - - - - - - - -
Model{{ device.device_type.display_name }}
Serial Number{{ device.serial|placeholder }}
Asset Tag{{ device.asset_tag|placeholder }}
-
-
-
-
-
- Hardware -
- - - - - - - - - - - - - - - {% for item in inventory_items %} - {% with template_name='dcim/inc/inventoryitem.html' indent=0 %} - {% include template_name %} - {% endwith %} - {% endfor %} - -
NameManufacturerPart IDSerial NumberAsset TagDescription
- {% if perms.dcim.add_inventoryitem %} -
{% endblock %} diff --git a/netbox/templates/dcim/inc/inventoryitem.html b/netbox/templates/dcim/inc/inventoryitem.html index d3a78afd4..1b103893f 100644 --- a/netbox/templates/dcim/inc/inventoryitem.html +++ b/netbox/templates/dcim/inc/inventoryitem.html @@ -1,13 +1,34 @@ +{% load helpers %} + + {# Checkbox #} + {% if perms.dcim.change_inventoryitem or perms.dcim.delete_inventoryitem %} + + + + {% endif %} + {{ item }} - {% if not item.discovered %}{% endif %} - {{ item.manufacturer|default:"" }} - {{ item.part_id }} - {{ item.serial }} - {{ item.asset_tag|default:"" }} - {{ item.description }} + + {% if item.manufacturer %} + {{ item.manufacturer }} + {% else %} + + {% endif %} + + {{ item.part_id|placeholder }} + {{ item.serial|placeholder }} + {{ item.asset_tag|placeholder }} + + {% if item.discovered %} + + {% else %} + + {% endif %} + + {{ item.description|placeholder }} {% if perms.dcim.change_inventoryitem %}