From b97d3b071661adfb5b8079bf93eabdb1b696fef9 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 24 Feb 2020 10:01:31 -0500 Subject: [PATCH] Fixes #4246: Fix duplication of field attributes when multiple IPNetworkVars are present in a script --- docs/release-notes/version-2.7.md | 1 + netbox/extras/scripts.py | 10 ++-------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index 0769546b7..c4203cd7e 100644 --- a/docs/release-notes/version-2.7.md +++ b/docs/release-notes/version-2.7.md @@ -13,6 +13,7 @@ * [#4239](https://github.com/netbox-community/netbox/issues/4239) - Fix exception when selecting all filtered objects during bulk edit * [#4240](https://github.com/netbox-community/netbox/issues/4240) - Fix exception when filtering foreign keys by NULL * [#4241](https://github.com/netbox-community/netbox/issues/4241) - Correct IP address hyperlinks on interface view +* [#4246](https://github.com/netbox-community/netbox/issues/4246) - Fix duplication of field attributes when multiple IPNetworkVars are present in a script --- diff --git a/netbox/extras/scripts.py b/netbox/extras/scripts.py index e5a32bde6..57cbc8149 100644 --- a/netbox/extras/scripts.py +++ b/netbox/extras/scripts.py @@ -63,10 +63,6 @@ class ScriptVariable: self.field_attrs['widget'] = widget self.field_attrs['required'] = required - # Initialize the list of optional validators if none have already been defined - if 'validators' not in self.field_attrs: - self.field_attrs['validators'] = [] - def as_field(self): """ Render the variable as a Django form field. @@ -227,14 +223,12 @@ class IPNetworkVar(ScriptVariable): An IPv4 or IPv6 prefix. """ form_field = IPNetworkFormField - field_attrs = { - 'validators': [prefix_validator] - } def __init__(self, min_prefix_length=None, max_prefix_length=None, *args, **kwargs): super().__init__(*args, **kwargs) - # Optional minimum/maximum prefix lengths + # Set prefix validator and optional minimum/maximum prefix lengths + self.field_attrs['validators'] = [prefix_validator] if min_prefix_length is not None: self.field_attrs['validators'].append( MinPrefixLengthValidator(min_prefix_length)