X-Git-Url: https://scm.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/40acf3027cd594e48486729285eb7a34379078f9..b3b52f5b0ad754fd9036f816d0ab8e98a5373f40:/profiles/photo/workflows/portfolio_workflow/scripts/sendNotificationEmail.py diff --git a/profiles/photo/workflows/portfolio_workflow/scripts/sendNotificationEmail.py b/profiles/photo/workflows/portfolio_workflow/scripts/sendNotificationEmail.py new file mode 100644 index 0000000..17dd864 --- /dev/null +++ b/profiles/photo/workflows/portfolio_workflow/scripts/sendNotificationEmail.py @@ -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