Skip to content

Commit 2fd2b3a

Browse files
committed
Have person.formatted_email() return the primary address if one is so marked. Fixes ietf-tools#1928. Commit ready for merge.
- Legacy-Id: 11129
1 parent 79a7eae commit 2fd2b3a

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

ietf/person/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ def email_address(self):
7171
else:
7272
return ""
7373
def formatted_email(self):
74-
e = self.email_set.order_by("-active", "-time").first()
74+
e = self.email_set.filter(primary=True).first()
75+
if not e:
76+
e = self.email_set.order_by("-active", "-time").first()
7577
if e:
7678
return e.formatted_email()
7779
else:

ietf/person/tests.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from ietf.utils.test_utils import TestCase
77
from ietf.utils.test_data import make_test_data
88

9+
from ietf.person.factories import EmailFactory,PersonFactory
10+
911
class PersonTests(TestCase):
1012
def test_ajax_search_emails(self):
1113
draft = make_test_data()
@@ -15,3 +17,10 @@ def test_ajax_search_emails(self):
1517
self.assertEqual(r.status_code, 200)
1618
data = json.loads(r.content)
1719
self.assertEqual(data[0]["id"], person.email_address())
20+
21+
def test_default_email(self):
22+
person = PersonFactory()
23+
primary = EmailFactory(person=person,primary=True,active=True)
24+
EmailFactory(person=person,primary=False,active=True)
25+
EmailFactory(person=person,primary=False,active=False)
26+
self.assertTrue(primary.address in person.formatted_email())

0 commit comments

Comments
 (0)