mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Fixes #26: Added rack height validation
This commit is contained in:
@ -183,6 +183,16 @@ class Rack(CreatedUpdatedModel):
|
|||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('dcim:rack', args=[self.pk])
|
return reverse('dcim:rack', args=[self.pk])
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
|
|
||||||
|
# Validate that Rack is tall enough to house the installed Devices
|
||||||
|
if self.pk:
|
||||||
|
top_device = Device.objects.filter(rack=self).order_by('-position').first()
|
||||||
|
min_height = top_device.position + top_device.device_type.u_height - 1
|
||||||
|
if self.u_height < min_height:
|
||||||
|
raise ValidationError("Rack must be at least {}U tall with currently installed devices."
|
||||||
|
.format(min_height))
|
||||||
|
|
||||||
def to_csv(self):
|
def to_csv(self):
|
||||||
return ','.join([
|
return ','.join([
|
||||||
self.site.name,
|
self.site.name,
|
||||||
|
Reference in New Issue
Block a user