From f3fd82a24a0c7ccb68455d810b4fa4ddc0d9322b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 13 Mar 2017 11:31:28 -0400 Subject: [PATCH] Allow assigning child devices to rackless parents --- netbox/dcim/forms.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index abe98e51a..c79f65d53 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -1618,20 +1618,23 @@ class DeviceBayCreateForm(DeviceComponentForm): class PopulateDeviceBayForm(BootstrapMixin, forms.Form): - installed_device = forms.ModelChoiceField(queryset=Device.objects.all(), label='Child Device', - help_text="Child devices must first be created within the rack occupied " - "by the parent device. Then they can be assigned to a bay.") + installed_device = forms.ModelChoiceField( + queryset=Device.objects.all(), + label='Child Device', + help_text="Child devices must first be created and assigned to the site/rack of the parent device." + ) def __init__(self, device_bay, *args, **kwargs): super(PopulateDeviceBayForm, self).__init__(*args, **kwargs) - children_queryset = Device.objects.filter(rack=device_bay.device.rack, - parent_bay__isnull=True, - device_type__u_height=0, - device_type__subdevice_role=SUBDEVICE_ROLE_CHILD)\ - .exclude(pk=device_bay.device.pk) - self.fields['installed_device'].queryset = children_queryset + self.fields['installed_device'].queryset = Device.objects.filter( + site=device_bay.device.site, + rack=device_bay.device.rack, + parent_bay__isnull=True, + device_type__u_height=0, + device_type__subdevice_role=SUBDEVICE_ROLE_CHILD + ).exclude(pk=device_bay.device.pk) #