mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 20:12:00 -06:00
Fixes #935: Fix form validation error when connecting an interface using live search
This commit is contained in:
parent
03d3bbcddb
commit
f051c0e564
@ -1468,19 +1468,13 @@ class InterfaceConnectionForm(BootstrapMixin, forms.ModelForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
# Initialize rack_b choices if site_b is set
|
# Initialize rack_b choices if site_b is set
|
||||||
if self.is_bound and self.data.get('site_b'):
|
if self.initial.get('site_b'):
|
||||||
self.fields['rack_b'].queryset = Rack.objects.filter(site__pk=self.data['site_b'])
|
|
||||||
elif self.initial.get('site_b'):
|
|
||||||
self.fields['rack_b'].queryset = Rack.objects.filter(site=self.initial['site_b'])
|
self.fields['rack_b'].queryset = Rack.objects.filter(site=self.initial['site_b'])
|
||||||
else:
|
else:
|
||||||
self.fields['rack_b'].choices = []
|
self.fields['rack_b'].choices = []
|
||||||
|
|
||||||
# Initialize device_b choices if rack_b or site_b is set
|
# Initialize device_b choices if rack_b or site_b is set
|
||||||
if self.is_bound and self.data.get('rack_b'):
|
if self.initial.get('rack_b'):
|
||||||
self.fields['device_b'].queryset = Device.objects.filter(rack__pk=self.data['rack_b'])
|
|
||||||
elif self.is_bound and self.data.get('site_b'):
|
|
||||||
self.fields['device_b'].queryset = Device.objects.filter(site__pk=self.data['site_b'], rack__isnull=True)
|
|
||||||
elif self.initial.get('rack_b'):
|
|
||||||
self.fields['device_b'].queryset = Device.objects.filter(rack=self.initial['rack_b'])
|
self.fields['device_b'].queryset = Device.objects.filter(rack=self.initial['rack_b'])
|
||||||
elif self.initial.get('site_b'):
|
elif self.initial.get('site_b'):
|
||||||
self.fields['device_b'].queryset = Device.objects.filter(site=self.initial['site_b'], rack__isnull=True)
|
self.fields['device_b'].queryset = Device.objects.filter(site=self.initial['site_b'], rack__isnull=True)
|
||||||
@ -1488,13 +1482,7 @@ class InterfaceConnectionForm(BootstrapMixin, forms.ModelForm):
|
|||||||
self.fields['device_b'].choices = []
|
self.fields['device_b'].choices = []
|
||||||
|
|
||||||
# Initialize interface_b choices if device_b is set
|
# Initialize interface_b choices if device_b is set
|
||||||
if self.is_bound:
|
if self.initial.get('device_b'):
|
||||||
device_b_interfaces = Interface.objects.filter(device=self.data['device_b']).exclude(
|
|
||||||
form_factor__in=VIRTUAL_IFACE_TYPES
|
|
||||||
).select_related(
|
|
||||||
'circuit_termination', 'connected_as_a', 'connected_as_b'
|
|
||||||
)
|
|
||||||
elif self.initial.get('device_b'):
|
|
||||||
device_b_interfaces = Interface.objects.filter(device=self.initial['device_b']).exclude(
|
device_b_interfaces = Interface.objects.filter(device=self.initial['device_b']).exclude(
|
||||||
form_factor__in=VIRTUAL_IFACE_TYPES
|
form_factor__in=VIRTUAL_IFACE_TYPES
|
||||||
).select_related(
|
).select_related(
|
||||||
|
Loading…
Reference in New Issue
Block a user