diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index c4bca327f..8036178ed 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -35,7 +35,7 @@ from virtualization.forms import VirtualMachineFilterForm from virtualization.models import VirtualMachine from virtualization.tables import VirtualMachineTable from . import filtersets, forms, tables -from .choices import DeviceFaceChoices +from .choices import DeviceFaceChoices, InterfaceModeChoices from .models import * CABLE_TERMINATION_TYPES = { @@ -2618,10 +2618,11 @@ class InterfaceBulkEditView(generic.BulkEditView): def extra_object_field_operations(self, form, obj): # Add/remove tagged VLANs - if form.cleaned_data.get('add_tagged_vlans', None): - obj.tagged_vlans.add(*form.cleaned_data['add_tagged_vlans']) - if form.cleaned_data.get('remove_tagged_vlans', None): - obj.tagged_vlans.remove(*form.cleaned_data['remove_tagged_vlans']) + if obj.mode == InterfaceModeChoices.MODE_TAGGED: + if form.cleaned_data.get('add_tagged_vlans', None): + obj.tagged_vlans.add(*form.cleaned_data['add_tagged_vlans']) + if form.cleaned_data.get('remove_tagged_vlans', None): + obj.tagged_vlans.remove(*form.cleaned_data['remove_tagged_vlans']) class InterfaceBulkRenameView(generic.BulkRenameView):