From 89b8fe6c1b1cb584b425b67b304defaace51952c Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Fri, 14 Sep 2018 20:29:07 +0000 Subject: [PATCH] Moved document methods rfc_number() and rfcnum() to the abstract parent class to have them available also for historical document records. Should fix the recent server 500 on /doc/draft-ietf-aaa-diameter/17/. - Legacy-Id: 15454 --- ietf/doc/models.py | 30 +++++++++++++++--------------- ietf/person/models.py | 3 ++- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/ietf/doc/models.py b/ietf/doc/models.py index 99adc2f91..8b5c5770d 100644 --- a/ietf/doc/models.py +++ b/ietf/doc/models.py @@ -350,6 +350,21 @@ class DocumentInfo(models.Model): self._cached_is_rfc = self.pk and self.type_id == 'draft' and self.states.filter(type='draft',slug='rfc').exists() return self._cached_is_rfc + def rfc_number(self): + if not hasattr(self, '_cached_rfc_number'): + self._cached_rfc_number = None + if self.is_rfc(): + n = self.canonical_name() + if n.startswith("rfc"): + self._cached_rfc_number = n[3:] + else: + logger.error("Document self.is_rfc() is True but self.canonical_name() is %s" % n) + return self._cached_rfc_number + + @property + def rfcnum(self): + return self.rfc_number() + def author_list(self): return u", ".join(author.email_id for author in self.documentauthor_set.all() if author.email_id) @@ -735,21 +750,6 @@ class Document(DocumentInfo): def displayname_with_link(self): return mark_safe('%s-%s' % (self.get_absolute_url(), self.name , self.rev)) - def rfc_number(self): - if not hasattr(self, '_cached_rfc_number'): - self._cached_rfc_number = None - if self.is_rfc(): - n = self.canonical_name() - if n.startswith("rfc"): - self._cached_rfc_number = n[3:] - else: - logger.error("Document self.is_rfc() is True but self.canonical_name() is %s" % n) - return self._cached_rfc_number - - @property - def rfcnum(self): - return self.rfc_number() - def ipr(self,states=('posted','removed')): """Returns the IPR disclosures against this document (as a queryset over IprDocRel).""" from ietf.ipr.models import IprDocRel diff --git a/ietf/person/models.py b/ietf/person/models.py index 40b80c3f6..48e63e58e 100644 --- a/ietf/person/models.py +++ b/ietf/person/models.py @@ -26,7 +26,7 @@ from ietf.utils.storage import NoLocationMigrationFileSystemStorage from ietf.utils.mail import formataddr from ietf.person.name import unidecode_name from ietf.utils import log -from ietf.utils.models import ForeignKey, OneToOneField +#from ietf.utils.models import ForeignKey, OneToOneField class Person(models.Model): @@ -338,6 +338,7 @@ class PersonalApiKey(models.Model): PERSON_EVENT_CHOICES = [ ("apikey_login", "API key login"), + ("gdpr_notice_email", "GDPR notice email"), ] class PersonEvent(models.Model):