Browse Source

default_subnetsize validation

Mathieu Goutelle 11 years ago
parent
commit
1bd33f690f
1 changed files with 10 additions and 0 deletions
  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