1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Initial work on #8118

This commit is contained in:
jeremystretch
2021-12-29 15:02:25 -05:00
parent 3bb485d0b8
commit 4c15f4a84f
21 changed files with 712 additions and 32 deletions

View File

@@ -869,6 +869,13 @@ class DeviceTypeDeviceBaysView(DeviceTypeComponentsView):
viewname = 'dcim:devicetype_devicebays'
class DeviceTypeInventoryItemsView(DeviceTypeComponentsView):
child_model = InventoryItemTemplate
table = tables.InventoryItemTemplateTable
filterset = filtersets.InventoryItemTemplateFilterSet
viewname = 'dcim:devicetype_inventoryitems'
class DeviceTypeEditView(generic.ObjectEditView):
queryset = DeviceType.objects.all()
model_form = forms.DeviceTypeForm
@@ -890,6 +897,7 @@ class DeviceTypeImportView(generic.ObjectImportView):
'dcim.add_rearporttemplate',
'dcim.add_modulebaytemplate',
'dcim.add_devicebaytemplate',
'dcim.add_inventoryitemtemplate',
]
queryset = DeviceType.objects.all()
model_form = forms.DeviceTypeImportForm
@@ -903,6 +911,7 @@ class DeviceTypeImportView(generic.ObjectImportView):
('front-ports', forms.FrontPortTemplateImportForm),
('module-bays', forms.ModuleBayTemplateImportForm),
('device-bays', forms.DeviceBayTemplateImportForm),
('inventory-items', forms.InventoryItemTemplateImportForm),
))
def prep_related_object_data(self, parent, data):
@@ -1362,6 +1371,51 @@ class DeviceBayTemplateBulkDeleteView(generic.BulkDeleteView):
table = tables.DeviceBayTemplateTable
#
# Inventory item templates
#
class InventoryItemTemplateCreateView(generic.ComponentCreateView):
queryset = InventoryItemTemplate.objects.all()
form = forms.DeviceTypeComponentCreateForm
model_form = forms.InventoryItemTemplateForm
def alter_object(self, instance, request):
# Set component (if any)
component_type = request.GET.get('component_type')
component_id = request.GET.get('component_id')
if component_type and component_id:
content_type = get_object_or_404(ContentType, pk=component_type)
instance.component = get_object_or_404(content_type.model_class(), pk=component_id)
return instance
class InventoryItemTemplateEditView(generic.ObjectEditView):
queryset = InventoryItemTemplate.objects.all()
model_form = forms.InventoryItemTemplateForm
class InventoryItemTemplateDeleteView(generic.ObjectDeleteView):
queryset = InventoryItemTemplate.objects.all()
class InventoryItemTemplateBulkEditView(generic.BulkEditView):
queryset = InventoryItemTemplate.objects.all()
table = tables.InventoryItemTemplateTable
form = forms.InventoryItemTemplateBulkEditForm
class InventoryItemTemplateBulkRenameView(generic.BulkRenameView):
queryset = InventoryItemTemplate.objects.all()
class InventoryItemTemplateBulkDeleteView(generic.BulkDeleteView):
queryset = InventoryItemTemplate.objects.all()
table = tables.InventoryItemTemplateTable
#
# Device roles
#