mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 12:12:53 -06:00
Fixes #327: Disable rack assignment for installed child devices
This commit is contained in:
parent
2d690ca38a
commit
c643e3a74f
@ -425,6 +425,11 @@ class DeviceForm(forms.ModelForm, BootstrapMixin):
|
|||||||
else:
|
else:
|
||||||
self.fields['device_type'].choices = []
|
self.fields['device_type'].choices = []
|
||||||
|
|
||||||
|
# Disable rack assignment if this is a child device installed in a parent device
|
||||||
|
if self.instance.device_type.is_child_device and hasattr(self.instance, 'parent_bay'):
|
||||||
|
self.fields['site'].disabled = True
|
||||||
|
self.fields['rack'].disabled = True
|
||||||
|
|
||||||
|
|
||||||
class BaseDeviceFromCSVForm(forms.ModelForm):
|
class BaseDeviceFromCSVForm(forms.ModelForm):
|
||||||
device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), to_field_name='name',
|
device_role = forms.ModelChoiceField(queryset=DeviceRole.objects.all(), to_field_name='name',
|
||||||
|
@ -22,8 +22,32 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
{% render_field form.site %}
|
{% render_field form.site %}
|
||||||
{% render_field form.rack %}
|
{% render_field form.rack %}
|
||||||
{% render_field form.face %}
|
{% if obj.device_type.is_child_device and obj.parent_bay %}
|
||||||
{% render_field form.position %}
|
<div class="form-group">
|
||||||
|
<label class="col-md-3 control-label">Parent device</label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<p class="form-control-static">
|
||||||
|
<a href="{% url 'dcim:device' pk=obj.parent_bay.device.pk %}">{{ obj.parent_bay.device }}</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-md-3 control-label">Parent bay</label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<p class="form-control-static">
|
||||||
|
{{ obj.parent_bay.name }}
|
||||||
|
{% if perms.dcim.change_devicebay %}
|
||||||
|
<a href="{% url 'dcim:devicebay_depopulate' pk=obj.parent_bay.pk %}" class="btn btn-danger btn-xs">
|
||||||
|
<i class="glyphicon glyphicon-remove" aria-hidden="true" title="Remove device"></i> Remove
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% elif not obj.device_type.is_child_device %}
|
||||||
|
{% render_field form.face %}
|
||||||
|
{% render_field form.position %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
|
Loading…
Reference in New Issue
Block a user