Fix for bulk interface edit form 802.1Q settings (#1882)

* fixes #1881 - bulk interface 802.1Q settings form

* fix PEP8 newline

* PEP8 fixup
This commit is contained in:
John Anderson 2018-02-14 10:42:12 -05:00 committed by Jeremy Stretch
parent b2c5bcd4f1
commit 28ea06a8bc

View File

@ -1934,6 +1934,11 @@ class InterfaceBulkEditForm(BootstrapMixin, BulkEditForm, ChainedFieldsMixin):
device = Device.objects.get(pk=self.initial.get('device')) device = Device.objects.get(pk=self.initial.get('device'))
except Device.DoesNotExist: except Device.DoesNotExist:
pass pass
else:
try:
device = Device.objects.get(pk=self.data.get('device'))
except Device.DoesNotExist:
pass
if device is not None: if device is not None:
interface_ordering = device.device_type.interface_ordering interface_ordering = device.device_type.interface_ordering
self.fields['lag'].queryset = Interface.objects.order_naturally(method=interface_ordering).filter( self.fields['lag'].queryset = Interface.objects.order_naturally(method=interface_ordering).filter(
@ -1950,10 +1955,16 @@ class InterfaceBulkEditForm(BootstrapMixin, BulkEditForm, ChainedFieldsMixin):
self.fields['site'].queryset = Site.objects.none() self.fields['site'].queryset = Site.objects.none()
self.fields['site'].initial = None self.fields['site'].initial = None
filter_dict = { if self.is_bound:
'group_id': None, filter_dict = {
'site_id': None, 'group_id': self.data.get('vlan_group') or None,
} 'site_id': self.data.get('site') or None,
}
else:
filter_dict = {
'group_id': None,
'site_id': None,
}
self.fields['untagged_vlan'].queryset = VLAN.objects.filter(**filter_dict) self.fields['untagged_vlan'].queryset = VLAN.objects.filter(**filter_dict)
self.fields['tagged_vlans'].queryset = VLAN.objects.filter(**filter_dict) self.fields['tagged_vlans'].queryset = VLAN.objects.filter(**filter_dict)
@ -2324,4 +2335,4 @@ class DeviceVCMembershipForm(forms.ModelForm):
if Device.objects.filter(virtual_chassis=self.instance.virtual_chassis, vc_position=vc_position).exists(): if Device.objects.filter(virtual_chassis=self.instance.virtual_chassis, vc_position=vc_position).exists():
raise forms.ValidationError("A virtual chassis member already exists in this position.") raise forms.ValidationError("A virtual chassis member already exists in this position.")
return vc_position return vc_position