From 030b59fe271d1c2d03dcf43c79320bdfada62145 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Tue, 5 Jan 2021 09:52:11 -0600 Subject: [PATCH] Fixes: #5564 - Raise validation error if a PowerPortTemplate's draw exceeds maximum --- docs/release-notes/version-2.10.md | 1 + netbox/dcim/models/device_component_templates.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/docs/release-notes/version-2.10.md b/docs/release-notes/version-2.10.md index b9a3685cc..4b762f1ae 100644 --- a/docs/release-notes/version-2.10.md +++ b/docs/release-notes/version-2.10.md @@ -17,6 +17,7 @@ * [#5557](https://github.com/netbox-community/netbox/issues/5557) - Fix VRF route target assignment via REST API * [#5558](https://github.com/netbox-community/netbox/issues/5558) - Fix regex validation support for custom URL fields * [#5563](https://github.com/netbox-community/netbox/issues/5563) - Fix power feed cable trace link +* [#5564](https://github.com/netbox-community/netbox/issues/5564) - Raise validation error if a power port template's `allocated_draw` exceeds its `maximum_draw` --- diff --git a/netbox/dcim/models/device_component_templates.py b/netbox/dcim/models/device_component_templates.py index fe819d310..58233f3bf 100644 --- a/netbox/dcim/models/device_component_templates.py +++ b/netbox/dcim/models/device_component_templates.py @@ -164,6 +164,15 @@ class PowerPortTemplate(ComponentTemplateModel): allocated_draw=self.allocated_draw ) + def clean(self): + super().clean() + + 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)." + }) + class PowerOutletTemplate(ComponentTemplateModel): """