aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/app/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/gui/app/models.py')
-rw-r--r--rpkid/rpki/gui/app/models.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/rpkid/rpki/gui/app/models.py b/rpkid/rpki/gui/app/models.py
index b7393717..2c5a81d4 100644
--- a/rpkid/rpki/gui/app/models.py
+++ b/rpkid/rpki/gui/app/models.py
@@ -22,11 +22,16 @@ import rpki.exceptions
import rpki.irdb.models
import rpki.gui.models
import rpki.gui.routeview.models
+from south.modelsinspector import add_introspection_rules
class TelephoneField(models.CharField):
def __init__(self, **kwargs):
- models.CharField.__init__(self, max_length=40, **kwargs)
+ if 'max_length' not in kwargs:
+ kwargs['max_length'] = 40
+ models.CharField.__init__(self, **kwargs)
+
+add_introspection_rules([], ['^rpki\.gui\.app\.models\.TelephoneField'])
class Parent(rpki.irdb.models.Parent):
@@ -115,8 +120,13 @@ class ResourceCert(models.Model):
This model is used to cache the output of <list_received_resources/>.
"""
- # pointer to the parent object in the irdb
- parent = models.ForeignKey(Parent, related_name='certs')
+
+ # Handle to which this cert was issued
+ conf = models.ForeignKey(Conf, related_name='certs')
+
+ # The parent that issued the cert. This field is marked null=True because
+ # the root has no parent
+ parent = models.ForeignKey(Parent, related_name='certs', null=True)
# certificate validity period
not_before = models.DateTimeField()
@@ -127,8 +137,11 @@ class ResourceCert(models.Model):
uri = models.CharField(max_length=255)
def __unicode__(self):
- return u"%s's cert from %s" % (self.parent.issuer.handle,
- self.parent.handle)
+ if self.parent:
+ return u"%s's cert from %s" % (self.conf.handle,
+ self.parent.handle)
+ else:
+ return u"%s's root cert" % self.conf.handle
class ResourceRangeAddressV4(rpki.gui.models.PrefixV4):