From a051b28b34f682f98cbf774271436d01b77e3098 Mon Sep 17 00:00:00 2001 From: ssi Date: Thu, 4 Nov 2010 15:25:57 +0530 Subject: [PATCH 1/3] [IMP] modified partner search view bzr revid: ssi@tinyerp.com-20101104095557-q0r0y9a99w1t7dly --- bin/addons/base/res/partner/partner_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index 30bf8b49b98..da638182a0e 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -337,7 +337,7 @@ - + From d41debe92a44b3e1e92e7456b4b2b2a4a01c0aea Mon Sep 17 00:00:00 2001 From: ssi Date: Thu, 4 Nov 2010 15:29:30 +0530 Subject: [PATCH 2/3] [FIX]Audit: solved problem of audit creates ambigous menu entry lp bug: https://launchpad.net/bugs/670050 fixed bzr revid: ssi@tinyerp.com-20101104095930-gyolsnmd6hgm0rtk --- bin/addons/base/res/res_log_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/res/res_log_view.xml b/bin/addons/base/res/res_log_view.xml index 4fc137eb26b..b67045f7daf 100644 --- a/bin/addons/base/res/res_log_view.xml +++ b/bin/addons/base/res/res_log_view.xml @@ -50,7 +50,7 @@ - Logs + Client Logs res.log form {'search_default_my': 1} From 462ca113382775124b48889f488d5f0e22767ba4 Mon Sep 17 00:00:00 2001 From: ssi Date: Thu, 4 Nov 2010 15:34:14 +0530 Subject: [PATCH 3/3] [FIX]partner:Improved wizard spam lp bug: https://launchpad.net/bugs/668320 fixed bzr revid: ssi@tinyerp.com-20101104100414-683dfu5i3avtq12z --- .../base/res/partner/wizard/partner_wizard_spam.py | 6 +++++- bin/tools/misc.py | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/bin/addons/base/res/partner/wizard/partner_wizard_spam.py b/bin/addons/base/res/partner/wizard/partner_wizard_spam.py index f349825d588..e194cb02316 100644 --- a/bin/addons/base/res/partner/wizard/partner_wizard_spam.py +++ b/bin/addons/base/res/partner/wizard/partner_wizard_spam.py @@ -22,6 +22,7 @@ import netsvc import tools from osv import fields, osv +import re class partner_wizard_spam(osv.osv_memory): """ Mass Mailing """ @@ -51,6 +52,9 @@ class partner_wizard_spam(osv.osv_memory): event_pool = self.pool.get('res.partner.event') active_ids = context and context.get('active_ids', []) partners = partner_pool.browse(cr, uid, active_ids, context) + type_ = 'plain' + if re.search('(<(pre)|[pubi].*>)', data.text): + type_ = 'html' for partner in partners: for adr in partner.address: if adr.email: @@ -58,7 +62,7 @@ class partner_wizard_spam(osv.osv_memory): to = '%s <%s>' % (name, adr.email) #TODO: add some tests to check for invalid email addresses #CHECKME: maybe we should use res.partner/email_send - tools.email_send(data.email_from, [to], data.subject, data.text,subtype='html') + tools.email_send(data.email_from, [to], data.subject, data.text,subtype=type_) nbr += 1 event_pool.create(cr, uid, {'name': 'Email(s) sent through mass mailing', diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 8ce466338e9..4fd5f12fad9 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -38,6 +38,10 @@ import re from itertools import islice import threading from which import which +try: + from html2text import html2text +except ImportError: + html2text = None import smtplib from email.MIMEText import MIMEText @@ -532,7 +536,11 @@ def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=Non # Add dynamic X Header for key, value in x_headers.iteritems(): msg['%s' % key] = str(value) - + + if html2text and subtype == 'html': + text = html2text(body.decode('utf-8')).encode('utf-8') + msg.attach(MIMEText(text, _charset='utf-8', _subtype='plain')) + if attach: msg.attach(email_text) for (fname,fcontent) in attach: