|
|
@@ -2993,6 +2993,25 @@ class InventoryItemBulkDeleteView(generic.BulkDeleteView):
|
|
|
template_name = 'dcim/inventoryitem_bulk_delete.html'
|
|
|
|
|
|
|
|
|
+@register_model_view(InventoryItem, 'children')
|
|
|
+class InventoryItemChildrenView(generic.ObjectChildrenView):
|
|
|
+ queryset = InventoryItem.objects.all()
|
|
|
+ child_model = InventoryItem
|
|
|
+ table = tables.InventoryItemTable
|
|
|
+ filterset = filtersets.InventoryItemFilterSet
|
|
|
+ template_name = 'generic/object_children.html'
|
|
|
+ tab = ViewTab(
|
|
|
+ label=_('Children'),
|
|
|
+ badge=lambda obj: obj.child_items.count(),
|
|
|
+ permission='dcim.view_inventoryitem',
|
|
|
+ hide_if_empty=True,
|
|
|
+ weight=5000
|
|
|
+ )
|
|
|
+
|
|
|
+ def get_children(self, request, parent):
|
|
|
+ return parent.child_items.restrict(request.user, 'view')
|
|
|
+
|
|
|
+
|
|
|
#
|
|
|
# Inventory item roles
|
|
|
#
|