From 6a61f0911dfc8183444b428fc971acec4766eed6 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 22 Apr 2020 12:09:40 -0400 Subject: [PATCH] Update InterfaceBulkCreateForm for VMs --- netbox/virtualization/forms.py | 21 +++++++-------------- netbox/virtualization/views.py | 2 +- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/netbox/virtualization/forms.py b/netbox/virtualization/forms.py index f4c2a36ec..a8232cbb5 100644 --- a/netbox/virtualization/forms.py +++ b/netbox/virtualization/forms.py @@ -15,7 +15,8 @@ from tenancy.models import Tenant from utilities.forms import ( add_blank_choice, APISelect, APISelectMultiple, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, CommentField, ConfirmationForm, CSVChoiceField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, - ExpandableNameField, JSONField, SlugField, SmallTextarea, StaticSelect2, StaticSelect2Multiple, TagFilterField, + ExpandableNameField, form_from_model, JSONField, SlugField, SmallTextarea, StaticSelect2, StaticSelect2Multiple, + TagFilterField, ) from .choices import * from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine @@ -828,23 +829,15 @@ class VirtualMachineBulkAddComponentForm(BootstrapMixin, forms.Form): ) -class VirtualMachineBulkAddInterfaceForm(VirtualMachineBulkAddComponentForm): +class InterfaceBulkCreateForm( + form_from_model(Interface, ['enabled', 'mtu', 'description', 'tags']), + VirtualMachineBulkAddComponentForm +): type = forms.ChoiceField( choices=VMInterfaceTypeChoices, initial=VMInterfaceTypeChoices.TYPE_VIRTUAL, widget=forms.HiddenInput() ) - enabled = forms.BooleanField( - required=False, - initial=True - ) - mtu = forms.IntegerField( - required=False, - min_value=INTERFACE_MTU_MIN, - max_value=INTERFACE_MTU_MAX, - label='MTU' - ) - description = forms.CharField( - max_length=100, + tags = TagField( required=False ) diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index 291392eb4..ff115d211 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -366,7 +366,7 @@ class VirtualMachineBulkAddInterfaceView(PermissionRequiredMixin, BulkComponentC permission_required = 'dcim.add_interface' parent_model = VirtualMachine parent_field = 'virtual_machine' - form = forms.VirtualMachineBulkAddInterfaceForm + form = forms.InterfaceBulkCreateForm model = Interface model_form = forms.InterfaceForm filterset = filters.VirtualMachineFilterSet