A little bit of cleanup, don't allow selecting email addresses without

associated persons in the EmailsField
 - Legacy-Id: 8274
This commit is contained in:
Ole Laursen 2014-08-17 10:08:11 +00:00
parent 5d714469a1
commit 9850290adb
2 changed files with 6 additions and 6 deletions

View file

@ -28,7 +28,7 @@ class EmailsField(forms.CharField):
super(EmailsField, self).__init__(*args, **kwargs)
self.widget.attrs["class"] = "tokenized-field"
self.widget.attrs["data-ajax-url"] = lazy(urlreverse, str)("ajax_search_emails") # make this lazy to prevent initialization problem
self.widget.attrs["data-ajax-url"] = lazy(urlreverse, str)("ajax_search_emails") # do this lazy to prevent form initialization problems
self.widget.attrs["data-hint-text"] = hint_text
if self.max_entries != None:
self.widget.attrs["data-max-entries"] = self.max_entries
@ -51,7 +51,7 @@ class EmailsField(forms.CharField):
value = super(EmailsField, self).clean(value)
addresses = self.parse_tokenized_value(value)
emails = Email.objects.filter(address__in=addresses).select_related("person")
emails = Email.objects.filter(address__in=addresses).exclude(person=None).select_related("person")
found_addresses = [e.address for e in emails]
failed_addresses = [x for x in addresses if x not in found_addresses]

View file

@ -56,15 +56,15 @@ class PersonInfo(models.Model):
return e[0]
return None
def email_address(self):
e = self.email_set.filter(active=True).order_by("-time")
e = self.email_set.filter(active=True).order_by("-time").first()
if e:
return e[0].address
return e.address
else:
return ""
def formatted_email(self):
e = self.email_set.order_by("-active", "-time")
e = self.email_set.order_by("-active", "-time").first()
if e:
return e[0].formatted_email()
return e.formatted_email()
else:
return ""
def full_name_as_key(self):