diff --git a/netbox/virtualization/forms/object_create.py b/netbox/virtualization/forms/object_create.py index 3ea374039..2f6844a5c 100644 --- a/netbox/virtualization/forms/object_create.py +++ b/netbox/virtualization/forms/object_create.py @@ -1,8 +1,9 @@ from django.utils.translation import gettext_lazy as _ from utilities.forms.fields import ExpandableNameField -from .model_forms import VMInterfaceForm +from .model_forms import VirtualDiskForm, VMInterfaceForm __all__ = ( + 'VirtualDiskCreateForm', 'VMInterfaceCreateForm', ) @@ -15,3 +16,13 @@ class VMInterfaceCreateForm(VMInterfaceForm): class Meta(VMInterfaceForm.Meta): exclude = ('name',) + + +class VirtualDiskCreateForm(VirtualDiskForm): + name = ExpandableNameField( + label=_('Name'), + ) + replication_fields = ('name',) + + class Meta(VirtualDiskForm.Meta): + exclude = ('name',) diff --git a/netbox/virtualization/tests/test_views.py b/netbox/virtualization/tests/test_views.py index 0405a6c14..400714c35 100644 --- a/netbox/virtualization/tests/test_views.py +++ b/netbox/virtualization/tests/test_views.py @@ -403,14 +403,14 @@ class VirtualDiskTestCase(ViewTestCases.DeviceComponentViewTestCase): cls.form_data = { 'virtual_machine': virtualmachines[0].pk, - 'name': 'Interface X', + 'name': 'Disk X', 'size': 123, 'tags': [t.pk for t in tags], } cls.bulk_create_data = { 'virtual_machine': virtualmachines[1].pk, - 'name': 'Interface [4-6]', + 'name': 'Disk [4-6]', 'size': 456, 'tags': [t.pk for t in tags], } diff --git a/netbox/virtualization/urls.py b/netbox/virtualization/urls.py index 2edd21b7d..78f88260a 100644 --- a/netbox/virtualization/urls.py +++ b/netbox/virtualization/urls.py @@ -50,7 +50,7 @@ urlpatterns = [ # Virtual disks path('disks/', views.VirtualDiskListView.as_view(), name='virtualdisk_list'), - path('disks/add/', views.VirtualDiskEditView.as_view(), name='virtualdisk_add'), + path('disks/add/', views.VirtualDiskCreateView.as_view(), name='virtualdisk_add'), path('disks/import/', views.VirtualDiskBulkImportView.as_view(), name='virtualdisk_import'), path('disks/edit/', views.VirtualDiskBulkEditView.as_view(), name='virtualdisk_bulk_edit'), path('disks/rename/', views.VirtualDiskBulkRenameView.as_view(), name='virtualdisk_bulk_rename'), diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index e5132468f..873818bb3 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -602,6 +602,12 @@ class VirtualDiskView(generic.ObjectView): queryset = VirtualDisk.objects.all() +class VirtualDiskCreateView(generic.ComponentCreateView): + queryset = VirtualDisk.objects.all() + form = forms.VirtualDiskCreateForm + model_form = forms.VirtualDiskForm + + @register_model_view(VirtualDisk, 'edit') class VirtualDiskEditView(generic.ObjectEditView): queryset = VirtualDisk.objects.all()