From 5ac7ee53136ed5cc9eb7b51eba6a589e6ab17a14 Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Sat, 13 Aug 2011 04:27:09 +0200 Subject: [PATCH] use email.utils.formataddr instead of '"%s" <%s>' to support double-quotes and backslashes correctly. --- .../portal_skins/erp5_base/Event_send.xml | 18 ++++-------------- bt5/erp5_base/bt/revision | 2 +- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Event_send.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Event_send.xml index 53e8b82fb7..839c567691 100644 --- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Event_send.xml +++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Event_send.xml @@ -50,8 +50,7 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string encoding="cdata"><![CDATA[ - + <value> <string>from email.utils import formataddr\n portal = context.getPortalObject()\n \n if body is None:\n @@ -64,11 +63,7 @@ if subject is None:\n # From\n if from_url is None:\n sender = context.getSourceValue()\n - if sender.getTitle():\n - from_url = \'"%s" <%s>\' % (sender.getTitle(),\n - sender.getDefaultEmailText())\n - else:\n - from_url = sender.getDefaultEmailText()\n + from_url = formataddr((sender.getTitle(), sender.getDefaultEmailText()))\n \n # Return-Path\n if reply_url is None:\n @@ -83,10 +78,7 @@ if to_url is None:\n for recipient in context.getDestinationValueList():\n email = recipient.getDefaultEmailText()\n if email:\n - if recipient.getTitle():\n - to_url_list.append(\'"%s" <%s>\' % (recipient.getTitle(), email))\n - else:\n - to_url_list.append(email)\n + to_url_list.append(formataddr((recipient.getTitle(), email)))\n else:\n raise ValueError, \'Recipient %s has no defined email\' % recipient\n elif same_type(to_url, \'\'):\n @@ -138,9 +130,7 @@ if context.getTypeInfo() is not None:\n \n if download:\n return mail_message\n - - -]]></string> </value> +</string> </value> </item> <item> <key> <string>_params</string> </key> diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision index b7e8805f4f..6242099cf1 100644 --- a/bt5/erp5_base/bt/revision +++ b/bt5/erp5_base/bt/revision @@ -1 +1 @@ -991 \ No newline at end of file +992 \ No newline at end of file -- 2.30.9