Skip to content

Commit 9850290

Browse files
committed
A little bit of cleanup, don't allow selecting email addresses without
associated persons in the EmailsField - Legacy-Id: 8274
1 parent 5d71446 commit 9850290

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

ietf/person/fields.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def __init__(self, *args, **kwargs):
2828
super(EmailsField, self).__init__(*args, **kwargs)
2929

3030
self.widget.attrs["class"] = "tokenized-field"
31-
self.widget.attrs["data-ajax-url"] = lazy(urlreverse, str)("ajax_search_emails") # make this lazy to prevent initialization problem
31+
self.widget.attrs["data-ajax-url"] = lazy(urlreverse, str)("ajax_search_emails") # do this lazy to prevent form initialization problems
3232
self.widget.attrs["data-hint-text"] = hint_text
3333
if self.max_entries != None:
3434
self.widget.attrs["data-max-entries"] = self.max_entries
@@ -51,7 +51,7 @@ def clean(self, value):
5151
value = super(EmailsField, self).clean(value)
5252
addresses = self.parse_tokenized_value(value)
5353

54-
emails = Email.objects.filter(address__in=addresses).select_related("person")
54+
emails = Email.objects.filter(address__in=addresses).exclude(person=None).select_related("person")
5555
found_addresses = [e.address for e in emails]
5656

5757
failed_addresses = [x for x in addresses if x not in found_addresses]

ietf/person/models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ def role_email(self, role_name, group=None):
5656
return e[0]
5757
return None
5858
def email_address(self):
59-
e = self.email_set.filter(active=True).order_by("-time")
59+
e = self.email_set.filter(active=True).order_by("-time").first()
6060
if e:
61-
return e[0].address
61+
return e.address
6262
else:
6363
return ""
6464
def formatted_email(self):
65-
e = self.email_set.order_by("-active", "-time")
65+
e = self.email_set.order_by("-active", "-time").first()
6666
if e:
67-
return e[0].formatted_email()
67+
return e.formatted_email()
6868
else:
6969
return ""
7070
def full_name_as_key(self):

0 commit comments

Comments
 (0)