]> git.openstreetmap.org Git - osqa.git/commitdiff
allows send_template_mail to define sender details
authorjavyer <javyer@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 27 Jul 2012 18:48:57 +0000 (18:48 +0000)
committerjavyer <javyer@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 27 Jul 2012 18:48:57 +0000 (18:48 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@1275 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/templatetags/email_tags.py
forum/utils/mail.py

index 0699f15bfda7d6df1a89f025a0f112a12dc7ae2c..0a60594c8b20750d343dcf3baaf9c170bef0f76e 100644 (file)
@@ -19,8 +19,8 @@ class MultiUserMailMessage(template.Node):
             context['recipient'] = recipient
             self.nodelist.render(context)
             messages.append((recipient, context['subject'], context['htmlcontent'], context['textcontent'], context['embeddedmedia']))
-
-        create_and_send_mail_messages(messages)
+        
+        create_and_send_mail_messages(messages,context['sender'])
 
 @register.tag
 def email(parser, token):
index 370e0f9c9259dd20e040f6126c9ed7810c504c05..115fc10ba8a562f2f0a77e4b3904711296891ee3 100644 (file)
@@ -24,9 +24,9 @@ from forum.context import application_settings
 from forum.utils.html2text import HTML2Text
 from threading import Thread
 
-def send_template_email(recipients, template, context):
+def send_template_email(recipients, template, context, sender=None):
     t = loader.get_template(template)
-    context.update(dict(recipients=recipients, settings=settings))
+    context.update(dict(recipients=recipients, settings=settings, sender=sender))
     t.render(Context(context))
 
 def create_connection():
@@ -44,14 +44,20 @@ def create_connection():
     return connection
 
 
-def create_and_send_mail_messages(messages):
+def create_and_send_mail_messages(messages, sender_data=None):
     if not settings.EMAIL_HOST:
         return
 
     sender = Header(unicode(settings.APP_SHORT_NAME), 'utf-8')
-    sender.append('<%s>' % unicode(settings.DEFAULT_FROM_EMAIL))
-    sender = u'%s <%s>' % (unicode(settings.APP_SHORT_NAME), unicode(settings.DEFAULT_FROM_EMAIL))
-
+    
+    if sender_data == None:
+        sender.append('<%s>' % unicode(settings.DEFAULT_FROM_EMAIL))
+        sender = u'%s <%s>' % (unicode(settings.APP_SHORT_NAME), unicode(settings.DEFAULT_FROM_EMAIL))
+    else:
+        sender.append('<%s>' % unicode(sender_data['email']))
+        sender = u'%s <%s>' % (unicode(sender_data['name']), unicode(sender_data['email']))
+        
+    
     reply_to = unicode(settings.DEFAULT_REPLY_TO_EMAIL)
 
     try: