From 35a5165c875fbd2be918c2ef0597789fbfde13a2 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 21 Jun 2024 13:08:56 -0700 Subject: [PATCH] 9627 fixes --- netbox/utilities/data.py | 2 +- netbox/utilities/forms/fields/array.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/netbox/utilities/data.py b/netbox/utilities/data.py index cdde68a5f..ea7b5b9df 100644 --- a/netbox/utilities/data.py +++ b/netbox/utilities/data.py @@ -125,7 +125,7 @@ def check_ranges_overlap(ranges): ranges.sort(key=lambda x: x.lower) for i in range(1, len(ranges)): - if (ranges[i - 1].upper > ranges[i].lower): + if (ranges[i - 1].upper >= ranges[i].lower): return True return False diff --git a/netbox/utilities/forms/fields/array.py b/netbox/utilities/forms/fields/array.py index 447ace9d2..84e6b1a2b 100644 --- a/netbox/utilities/forms/fields/array.py +++ b/netbox/utilities/forms/fields/array.py @@ -43,11 +43,13 @@ class NumericRangeArrayField(forms.CharField): ) def prepare_value(self, value): + if isinstance(value, str): + return value return ','.join([f"{val.lower}-{val.upper}" for val in value]) def to_python(self, value): if not value: - return '' + return None ranges = value.split(",") values = [] for dash_range in value.split(','):