Răsfoiți Sursa

17414 allow single vlan in vlan group (#17418)

* 17414 allow single vlan in vlan group

* 17414 add test
Arthur Hanson 1 an în urmă
părinte
comite
81a1280b65
2 a modificat fișierele cu 15 adăugiri și 1 ștergeri
  1. 1 1
      netbox/ipam/models/vlans.py
  2. 14 0
      netbox/ipam/tests/test_models.py

+ 1 - 1
netbox/ipam/models/vlans.py

@@ -100,7 +100,7 @@ class VLANGroup(OrganizationalModel):
         if self.vid_ranges and check_ranges_overlap(self.vid_ranges):
             raise ValidationError({'vid_ranges': _("Ranges cannot overlap.")})
         for vid_range in self.vid_ranges:
-            if vid_range.lower >= vid_range.upper:
+            if vid_range.lower > vid_range.upper:
                 raise ValidationError({
                     'vid_ranges': _(
                         "Maximum child VID must be greater than or equal to minimum child VID ({value})"

+ 14 - 0
netbox/ipam/tests/test_models.py

@@ -543,3 +543,17 @@ class TestVLANGroup(TestCase):
 
         vlan = VLAN(vid=109, name='VLAN 109', group=vlangroup)
         vlan.full_clean()
+
+    def test_overlapping_vlan(self):
+        vlangroup = VLANGroup(
+            name='VLAN Group 1',
+            slug='vlan-group-1',
+            vid_ranges=string_to_ranges('2-4,3-5'),
+        )
+        with self.assertRaises(ValidationError):
+            vlangroup.full_clean()
+
+        # make sure single vlan range works
+        vlangroup.vid_ranges = string_to_ranges('2-2')
+        vlangroup.full_clean()
+        vlangroup.save()