22from django .template .loader import render_to_string
33from django .core .urlresolvers import reverse as urlreverse
44
5- from ietf .liaisons .mail import IETFEmailMessage
5+ from ietf .utils .mail import send_mail_text
66
7- def send_liaison_by_email (liaison , fake = False ):
8- if not liaison .is_pending (): # this conditional should definitely be at the caller, not here
9- return notify_pending_by_email (liaison , fake )
7+ def send_liaison_by_email (request , liaison , fake = False ):
8+ if liaison .is_pending (): # this conditional should definitely be at the caller, not here
9+ return notify_pending_by_email (request , liaison , fake )
1010
1111 subject = u'New Liaison Statement, "%s"' % (liaison .title )
1212 from_email = settings .LIAISON_UNIVERSAL_FROM
@@ -17,23 +17,26 @@ def send_liaison_by_email(liaison, fake=False):
1717 if liaison .response_contact :
1818 cc += liaison .response_contact .split (',' )
1919 bcc = ['statements@ietf.org' ]
20- body = render_to_string ('liaisons/liaison_mail.txt' ,
21- {'liaison' : liaison ,
22- 'url' : settings .IDTRACKER_BASE_URL + urlreverse ("liaison_detail" , kwargs = dict (object_id = liaison .pk ))
23- })
24- mail = IETFEmailMessage (subject = subject ,
20+ body = render_to_string ('liaisons/liaison_mail.txt' , dict (
21+ liaison = liaison ,
22+ url = settings .IDTRACKER_BASE_URL + urlreverse ("liaison_detail" , kwargs = dict (object_id = liaison .pk )),
23+ referenced_url = settings .IDTRACKER_BASE_URL + urlreverse ("liaison_detail" , kwargs = dict (object_id = liaison .related_to .pk )) if liaison .related_to else None ,
24+ ))
25+ if fake :
26+ # rather than this fake stuff, it's probably better to start a
27+ # debug SMTP server as explained in the Django docs
28+ from ietf .liaisons .mail import IETFEmailMessage
29+ mail = IETFEmailMessage (subject = subject ,
2530 to = to_email ,
2631 from_email = from_email ,
2732 cc = cc ,
2833 bcc = bcc ,
2934 body = body )
30- # rather than this fake stuff, it's probably better to start a
31- # debug SMTP server as explained in the Django docs
32- if not fake :
33- mail .send ()
34- return mail
35+ return mail
3536
36- def notify_pending_by_email (liaison , fake ):
37+ send_mail_text (request , to_email , from_email , subject , body , cc = ", " .join (cc ), bcc = ", " .join (bcc ))
38+
39+ def notify_pending_by_email (request , liaison , fake ):
3740 from ietf .liaisons .utils import IETFHM
3841
3942 from_entity = IETFHM .get_entity_by_key (liaison .from_raw_code )
@@ -44,16 +47,16 @@ def notify_pending_by_email(liaison, fake):
4447 to_email .append ('%s <%s>' % person .email ())
4548 subject = u'New Liaison Statement, "%s" needs your approval' % (liaison .title )
4649 from_email = settings .LIAISON_UNIVERSAL_FROM
47- body = render_to_string ('liaisons/pending_liaison_mail.txt' ,
48- { ' liaison' : liaison ,
49- ' url' : settings .IDTRACKER_BASE_URL + urlreverse ("liaison_detail " , kwargs = dict (object_id = liaison .pk )),
50- 'approve_url' : settings .IDTRACKER_BASE_URL + urlreverse ("liaison_approval_detail " , kwargs = dict (object_id = liaison .pk ))
51- } )
52- mail = IETFEmailMessage ( subject = subject ,
53- to = to_email ,
54- from_email = from_email ,
55- body = body )
56- if not fake :
57- mail . send ()
58- return mail
50+ body = render_to_string ('liaisons/pending_liaison_mail.txt' , dict (
51+ liaison = liaison ,
52+ url = settings .IDTRACKER_BASE_URL + urlreverse ("liaison_approval_detail " , kwargs = dict (object_id = liaison .pk )),
53+ referenced_url = settings .IDTRACKER_BASE_URL + urlreverse ("liaison_detail " , kwargs = dict (object_id = liaison .related_to . pk )) if liaison . related_to else None ,
54+ ) )
55+ if fake :
56+ mail = IETFEmailMessage ( subject = subject ,
57+ to = to_email ,
58+ from_email = from_email ,
59+ body = body )
60+ return mail
61+ send_mail_text ( request , to_email , from_email , subject , body )
5962
0 commit comments