Просмотр исходного кода

Fixes #6892: Fix validation of unit ranges when creating a rack reservation

jeremystretch 4 лет назад
Родитель
Сommit
46d0af6cef
2 измененных файлов с 6 добавлено и 2 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 5 2
      netbox/utilities/forms/utils.py

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -9,6 +9,7 @@
 ### Bug Fixes
 
 * [#6740](https://github.com/netbox-community/netbox/issues/6740) - Add import button to VM interfaces list
+* [#6892](https://github.com/netbox-community/netbox/issues/6892) - Fix validation of unit ranges when creating a rack reservation
 
 ---
 

+ 5 - 2
netbox/utilities/forms/utils.py

@@ -32,7 +32,10 @@ def parse_numeric_range(string, base=10):
             begin, end = dash_range.split('-')
         except ValueError:
             begin, end = dash_range, dash_range
-        begin, end = int(begin.strip(), base=base), int(end.strip(), base=base) + 1
+        try:
+            begin, end = int(begin.strip(), base=base), int(end.strip(), base=base) + 1
+        except ValueError:
+            raise forms.ValidationError(f'Range "{dash_range}" is invalid.')
         values.extend(range(begin, end))
     return list(set(values))
 
@@ -64,7 +67,7 @@ def parse_alphanumeric_range(string):
             else:
                 # Not a valid range (more than a single character)
                 if not len(begin) == len(end) == 1:
-                    raise forms.ValidationError('Range "{}" is invalid.'.format(dash_range))
+                    raise forms.ValidationError(f'Range "{dash_range}" is invalid.')
                 for n in list(range(ord(begin), ord(end) + 1)):
                     values.append(chr(n))
     return values