From e1ce1ee2e85de5b45e4618bcf9006f87ed7e74d5 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sat, 23 Apr 2016 15:03:25 +0000 Subject: Start fleshing out Parent actions that require poking at companion Root object. svn path=/branches/tk705/; revision=6373 --- rpki/rpkidb/migrations/0007_root.py | 2 +- rpki/rpkidb/models.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'rpki') diff --git a/rpki/rpkidb/migrations/0007_root.py b/rpki/rpkidb/migrations/0007_root.py index f319b477..728e42db 100644 --- a/rpki/rpkidb/migrations/0007_root.py +++ b/rpki/rpkidb/migrations/0007_root.py @@ -18,7 +18,7 @@ class Migration(migrations.Migration): ('asn_resources', models.TextField()), ('ipv4_resources', models.TextField()), ('ipv6_resources', models.TextField()), - ('worker', models.OneToOneField(related_name='rooter', to='rpkidb.Parent')), + ('parent', models.OneToOneField(to='rpkidb.Parent')), ], bases=('rpkidb.turtle',), ), diff --git a/rpki/rpkidb/models.py b/rpki/rpkidb/models.py index c5adbacf..164104b3 100644 --- a/rpki/rpkidb/models.py +++ b/rpki/rpkidb/models.py @@ -575,7 +575,8 @@ class Parent(Turtle): name = "parent", handles = (BSC, Repository), attributes = ("peer_contact_uri", "sia_base", "sender_name", "recipient_name"), - elements = ("bpki_cert", "bpki_glue")) + elements = ("bpki_cert", "bpki_glue"), + readonly = ("rpki_root_cert",)) def __repr__(self): @@ -588,6 +589,14 @@ class Parent(Turtle): except: return "" + @property + def rpki_root_cert(self): + try: + ca_detail = self.root.cas.ca_details.get(state = "active") + except (Root.DoesNotExist, CA.DoesNotExist, CADetail.DoesNotExist): + return None + else: + return ca_detail.latest_ca_cert @tornado.gen.coroutine def xml_pre_delete_hook(self, rpkid): @@ -791,7 +800,7 @@ class Root(Turtle): asn_resources = models.TextField() ipv4_resources = models.TextField() ipv6_resources = models.TextField() - worker = models.OneToOneField(Parent, related_name = "rooter") + parent = models.OneToOneField(Parent) class CA(models.Model): -- cgit v1.2.3