diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py index 14c59cfa6..2eb16eb07 100644 --- a/ietf/liaisons/forms.py +++ b/ietf/liaisons/forms.py @@ -266,8 +266,12 @@ class LiaisonModelForm(BetterModelForm): def clean_from_contact(self): contact = self.cleaned_data.get('from_contact') + from_groups = self.cleaned_data.get('from_groups') try: email = Email.objects.get(address=contact) + if not email.origin: + email.origin = "liaison: %s" % (','.join([ g.acronym for g in from_groups.all() ])) + email.save() except ObjectDoesNotExist: raise forms.ValidationError('Email address does not exist') return email @@ -500,14 +504,6 @@ class OutgoingLiaisonForm(LiaisonModelForm): if has_role(self.user, "Liaison Manager"): self.fields['to_groups'].initial = [queryset.first()] - def save(self, commit=False): - instance = super(EditModelForm, self).save(commit=False) - - if 'from_contact' in self.changed_data: - email = self.cleaned_data.get('from_contact') - if not email.origin: - email.origin = "liaison: %s" % (','.join([ g.acronym for g in instance.from_groups.all() ])) - email.save() class EditLiaisonForm(LiaisonModelForm): def __init__(self, *args, **kwargs):