aboutsummaryrefslogtreecommitdiff
path: root/rpki/gui
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-10-28 01:24:05 +0000
committerRob Austein <sra@hactrn.net>2015-10-28 01:24:05 +0000
commite7f4455ab5d812d3548d5554b65e34ba880031c8 (patch)
treec4f5c78884124752d27e944be1a5e83e2296377d /rpki/gui
parent8e54c2cbc90f9d115d4d799430941661544e0e1c (diff)
Now working with PostgreSQL.
svn path=/branches/tk705/; revision=6157
Diffstat (limited to 'rpki/gui')
-rw-r--r--rpki/gui/app/migrations/0001_initial.py6
-rw-r--r--rpki/gui/models.py10
2 files changed, 11 insertions, 5 deletions
diff --git a/rpki/gui/app/migrations/0001_initial.py b/rpki/gui/app/migrations/0001_initial.py
index 73884581..79d21324 100644
--- a/rpki/gui/app/migrations/0001_initial.py
+++ b/rpki/gui/app/migrations/0001_initial.py
@@ -11,7 +11,7 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
- ('irdb', '0005_auto_20151023_2151'),
+ ('irdb', '0001_initial'),
('routeview', '__first__'),
]
@@ -98,8 +98,8 @@ class Migration(migrations.Migration):
name='ResourceRangeAS',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('min', models.PositiveIntegerField()),
- ('max', models.PositiveIntegerField()),
+ ('min', models.BigIntegerField(validators=[rpki.gui.models.validate_asn])),
+ ('max', models.BigIntegerField(validators=[rpki.gui.models.validate_asn])),
('cert', models.ForeignKey(related_name='asn_ranges', to='app.ResourceCert')),
],
options={
diff --git a/rpki/gui/models.py b/rpki/gui/models.py
index b327333c..4d56c18e 100644
--- a/rpki/gui/models.py
+++ b/rpki/gui/models.py
@@ -19,6 +19,7 @@ Common classes for reuse in apps.
__version__ = '$Id$'
from django.db import models
+from django.core.exceptions import ValidationError
import rpki.resource_set
import rpki.POW
@@ -145,13 +146,18 @@ class PrefixV6(Prefix):
abstract = True
+def validate_asn(value):
+ if value < 0 or value > 0xFFFFFFFFL:
+ raise ValidationError('%s is not valid autonomous sequence number' % value)
+
+
class ASN(models.Model):
"""Represents a range of ASNs.
This model is abstract, and is intended to be reused by applications."""
- min = models.PositiveIntegerField(null=False)
- max = models.PositiveIntegerField(null=False)
+ min = models.BigIntegerField(null=False, validators=[validate_asn])
+ max = models.BigIntegerField(null=False, validators=[validate_asn])
class Meta:
abstract = True