From e7f4455ab5d812d3548d5554b65e34ba880031c8 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 28 Oct 2015 01:24:05 +0000 Subject: Now working with PostgreSQL. svn path=/branches/tk705/; revision=6157 --- rpki/gui/app/migrations/0001_initial.py | 6 +++--- rpki/gui/models.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'rpki/gui') 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 -- cgit v1.2.3