Skip to content

Commit

Permalink
feat: allow openId to choose an unactive email if there are no active…
Browse files Browse the repository at this point in the history
… ones
  • Loading branch information
rjsparks committed Jul 24, 2023
1 parent ab0b8e1 commit 35a722d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
2 changes: 1 addition & 1 deletion ietf/ietfauth/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def is_bofreq_editor(user, doc):
def openid_userinfo(claims, user):
# Populate claims dict.
person = get_object_or_404(Person, user=user)
email = person.email()
email = person.email_allowing_unactive()
if person.photo:
photo_url = person.cdn_photo_url()
else:
Expand Down
8 changes: 8 additions & 0 deletions ietf/person/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,14 @@ def email(self):
e = self.email_set.filter(active=True).order_by("-time").first()
self._cached_email = e
return self._cached_email
def email_allowing_unactive(self):
if not hasattr(self, "_cached_email_allowing_unactive"):
e = self.email()
if not e:
e = self.email_set.order_by("-time").first()
log.assertion(statement="e is not None", note=f"Person {self.pk} has no Email objects")
self._cached_email_allowing_unactive = e
return self._cached_email_allowin_unactive
def email_address(self):
e = self.email()
if e:
Expand Down

0 comments on commit 35a722d

Please sign in to comment.