From 39e4ab164e5585d168c51bb5e3bc495087a9716b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 7 Oct 2020 13:23:19 -0400 Subject: [PATCH] Fixes #5218: Raise validation error if a power port's allocated_draw exceeds its maximum_draw --- docs/release-notes/version-2.9.md | 1 + netbox/dcim/models/device_components.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md index bfe8ede46..d9d5cb6e8 100644 --- a/docs/release-notes/version-2.9.md +++ b/docs/release-notes/version-2.9.md @@ -13,6 +13,7 @@ * [#5201](https://github.com/netbox-community/netbox/issues/5201) - Fix missing querystring when bulk editing/deleting VLAN Group VLANs when selecting "select all x items matching query" * [#5206](https://github.com/netbox-community/netbox/issues/5206) - Apply user pagination preferences to all paginated object lists * [#5217](https://github.com/netbox-community/netbox/issues/5217) - Prevent erroneous removal of prefetched GenericForeignKey data from tables +* [#5218](https://github.com/netbox-community/netbox/issues/5218) - Raise validation error if a power port's `allocated_draw` exceeds its `maximum_draw` --- diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 18ca5cf3e..b1da7ceec 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -405,6 +405,14 @@ class PowerPort(CableTermination, ComponentModel): self.description, ) + def clean(self): + + if self.maximum_draw is not None and self.allocated_draw is not None: + if self.allocated_draw > self.maximum_draw: + raise ValidationError({ + 'allocated_draw': f"Allocated draw cannot exceed the maximum draw ({self.maximum_draw}W)." + }) + @property def connected_endpoint(self): """