Parcourir la source

default_subnetsize validation

Mathieu Goutelle il y a 11 ans
Parent
commit
1bd33f690f
1 fichiers modifiés avec 10 ajouts et 0 suppressions
  1. 10 0
      coin/resources/models.py

+ 10 - 0
coin/resources/models.py

@@ -15,6 +15,16 @@ class IPPool(models.Model):
     inet = CidrAddressField()
     objects = NetManager()
 
+    def clean(self):
+        if self.inet.version == 4:
+            if not self.inet.prefixlen <= self.default_subnetsize <= 32:
+                raise ValidationError('Invalid default subnet size')
+        elif self.inet.verison == 6:
+            if not self.inet.prefixlen <= self.default_subnetsize <= 64:
+                raise ValidationError('Invalid default subnet size')
+        else:
+            pass
+
     def __unicode__(self):
         return self.name