Преглед изворни кода

Adds inventory item children view (#14217)

* adds inventory item children view #14112

* Use existing child_items relation

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
Abhimanyu Saharan пре 2 година
родитељ
комит
0603dd1be4
1 измењених фајлова са 19 додато и 0 уклоњено
  1. 19 0
      netbox/dcim/views.py

+ 19 - 0
netbox/dcim/views.py

@@ -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
 #