From 9b4415fe5166590591f16a89663ddefed2e77530 Mon Sep 17 00:00:00 2001
From: Ole Laursen <olau@iola.dk>
Date: Mon, 23 Apr 2012 20:14:04 +0000
Subject: [PATCH] Fix problem with direct replyto path in liaison form not
 using role emails (reported by Stephanie McCammon).  - Legacy-Id: 4310

---
 ietf/liaisons/formsREDESIGN.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/ietf/liaisons/formsREDESIGN.py b/ietf/liaisons/formsREDESIGN.py
index 91a689611..06d999edc 100644
--- a/ietf/liaisons/formsREDESIGN.py
+++ b/ietf/liaisons/formsREDESIGN.py
@@ -16,7 +16,7 @@ from ietf.liaisons.widgets import (FromWidget, ReadOnlyWidget, ButtonWidget,
 from ietf.liaisons.models import LiaisonStatement, LiaisonStatementPurposeName
 from ietf.liaisons.proxy import LiaisonDetailProxy
 from ietf.group.models import Group
-from ietf.person.models import Person
+from ietf.person.models import Person, Email
 from ietf.doc.models import Document
 
 
@@ -313,6 +313,14 @@ class IncomingLiaisonForm(LiaisonForm):
         self.fields['from_field'].choices = [('sdo_%s' % i.pk, i.name) for i in sdos.order_by("name")]
         self.fields['from_field'].widget.submitter = unicode(self.person)
 
+    def set_replyto_field(self):
+        e = Email.objects.filter(person=self.person, role__group__state="active", role__name__in=["liaiman", "auth"])
+        if e:
+            addr = e[0].address
+        else:
+            addr = self.person.email_address()
+        self.fields['replyto'].initial = addr
+
     def set_organization_field(self):
         self.fields['organization'].choices = self.hm.get_all_incoming_entities()
 
@@ -360,6 +368,14 @@ class OutgoingLiaisonForm(LiaisonForm):
         self.fields['from_field'].widget.submitter = unicode(self.person)
         self.fieldsets[0] = ('From', ('from_field', 'replyto', 'approved'))
 
+    def set_replyto_field(self):
+        e = Email.objects.filter(person=self.person, role__group__state="active", role__name__in=["ad", "chair"])
+        if e:
+            addr = e[0].address
+        else:
+            addr = self.person.email_address()
+        self.fields['replyto'].initial = addr
+
     def set_organization_field(self):
         # If the user is a liaison manager and is nothing more, reduce the To field to his SDOs
         if not self.hm.get_entities_for_person(self.person) and is_sdo_liaison_manager(self.person):