From 324a5e10d74abe852ef6775f66b711e263baf8e7 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 8 Aug 2016 09:45:44 -0400 Subject: [PATCH] Fixes #433: Correct form validation when editing child devices --- netbox/dcim/forms.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index fef87ded0..5fa133bf5 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -402,7 +402,7 @@ class DeviceForm(forms.ModelForm, BootstrapMixin): self.fields['primary_ip6'].widget.attrs['readonly'] = True # Limit rack choices - if self.is_bound: + if self.is_bound and self.data.get('site'): self.fields['rack'].queryset = Rack.objects.filter(site__pk=self.data['site']) elif self.initial.get('site'): self.fields['rack'].queryset = Rack.objects.filter(site=self.initial['site']) @@ -443,6 +443,8 @@ class DeviceForm(forms.ModelForm, BootstrapMixin): if pk and self.instance.device_type.is_child_device and hasattr(self.instance, 'parent_bay'): self.fields['site'].disabled = True self.fields['rack'].disabled = True + self.initial['site'] = self.instance.parent_bay.device.rack.site_id + self.initial['rack'] = self.instance.parent_bay.device.rack_id class BaseDeviceFromCSVForm(forms.ModelForm):