Déplacement pour eggification.
[Plinn.git] / Products / Plinn / profiles / default / workflows / default_workflow / scripts / sendNotificationEmail.py
diff --git a/Products/Plinn/profiles/default/workflows/default_workflow/scripts/sendNotificationEmail.py b/Products/Plinn/profiles/default/workflows/default_workflow/scripts/sendNotificationEmail.py
new file mode 100644 (file)
index 0000000..17dd864
--- /dev/null
@@ -0,0 +1,61 @@
+## Script (Python) "sendNotificationEmail"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=sci
+##title=
+##
+#TODO : translate messages
+#from Products.PlacelessTranslationService.MessageID import MessageIDFactory
+#_ = MessageIDFactory('plinn')
+_ = lambda x : lambda : x
+
+portal = context.portal_url.getPortalObject()
+
+mtool = portal.portal_membership
+
+recipients = sci.kwargs.get('recipients', [])
+if not recipients :
+       return []
+
+
+MailHost = portal.MailHost
+from quopri import encodestring
+
+def encodeAdr(member) :
+       name = member.getMemberFullName(nameBefore=0)
+       email = member.getProperty('email')
+       qpName = encodestring(name).replace('=\n', '')
+       return '''"=?utf-8?q?%s?=" <%s>''' % (qpName, email)
+
+
+object = sci.object
+
+sender = mtool.getAuthenticatedMember()
+sender = encodeAdr(sender)
+
+recipientsFormated = map(encodeAdr, mtool.getMembers( recipients ))
+mto = ', '.join(recipientsFormated)
+if mto[-2:] == ', ' :
+       mto = mto[:-2]
+
+footer = """
+------------
+Document : %s
+""" % object.absolute_url()
+
+
+message = context.echange_mail_template(  From = sender
+                                                                               , To = mto
+                                                                               , Subject = "=?utf-8?q?%s?=" % encodestring(portal.Title() + " : " + _("Document state change notificaction")()).replace('=\n', '')
+                                                                               , ContentType = 'text/plain'
+                                                                               , charset = 'UTF-8'
+                                                                               , body=sci.kwargs.get('comment', '')
+                                                                               , footer=footer)
+
+
+MailHost.send( message )
+
+return recipients