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
This commit is contained in:
Henrik Levkowetz 2018-09-14 20:29:07 +00:00
parent 3d4eb192b0
commit 89b8fe6c1b
2 changed files with 17 additions and 16 deletions

View file

@ -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('<a href="%s">%s-%s</a>' % (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

View file

@ -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):