From 99c4933b50cdc107bf66748d3d20d1e78a197b94 Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Thu, 17 Feb 2011 16:28:44 +0530 Subject: [PATCH] [ADD] emails :- add email.message send wizard. bzr revid: ysa@tinyerp.com-20110217105844-sj5o5y1qmszp6mtw --- addons/email_template/email_template.py | 16 ++++++++-------- addons/emails/__init__.py | 1 + addons/emails/__openerp__.py | 2 +- addons/emails/email_message.py | 2 +- addons/emails/email_view.xml | 3 ++- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index 5a746b8..59025fa 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -451,14 +451,12 @@ This is useful for CRM leads for example"), - def generate_email(self, cr, uid, ids, record_id, context=None): + def generate_email(self, cr, uid, template_id, record_id, context=None): if context is None: context = {} - email_ids = [] - for template in self.browse(cr, uid, ids, context=context): - email_id = self._generate_email(cr, uid, template.id, record_id, context) - email_ids.append(email_id) - return email_ids + email_id = self._generate_email(cr, uid, template_id, record_id, context) + return email_id + email_template() class email_message(osv.osv): @@ -481,15 +479,17 @@ class email_message(osv.osv): message_id=False, openobject_id=False, debug=False, subtype='plain', x_headers={}, priority='3', smtp_server_id=False, context=None): if context is None: context = {} - notemplate = context.get('notemplate', False) + notemplate = context.get('notemplate', True) if (not notemplate) and model and openobject_id: template_pool = self.pool.get('email.template') template_ids = template_pool.search(cr, uid, [('model','=',model)]) if template_ids and len(template_ids): template_id = template_ids[0] - return template_pool.generate_email(cr, uid, [template_id], openobject_id, context=context) + return template_pool.generate_email(cr, uid, template_id, openobject_id, context=context) + return super(email_message, self).email_send(cr, uid, email_from, email_to, subject, body, model=model, email_cc=email_cc, email_bcc=email_bcc, reply_to=reply_to, attach=attach, message_id=message_id, openobject_id=openobject_id, debug=debug, subtype=subtype, x_headers=x_headers, priority=priority, smtp_server_id=smtp_server_id, context=context) + email_message() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/emails/__init__.py b/addons/emails/__init__.py index 5e481d8..dd9a7e7 100644 --- a/addons/emails/__init__.py +++ b/addons/emails/__init__.py @@ -22,6 +22,7 @@ import email_smtp_server import email_message import res_partner +import wizard # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/emails/__openerp__.py b/addons/emails/__openerp__.py index 9e2c1ae..a3b6456 100644 --- a/addons/emails/__openerp__.py +++ b/addons/emails/__openerp__.py @@ -32,11 +32,11 @@ 'depends': ['base', 'base_tools'], 'init_xml': [], 'update_xml': [ + "wizard/email_message_wizard_send_view.xml", "email_view.xml", "res_partner_view.xml", 'security/ir.model.access.csv', 'email_data.xml', - ], 'demo_xml': [], 'installable': True, diff --git a/addons/emails/email_message.py b/addons/emails/email_message.py index 0757291..ec2aa7c 100644 --- a/addons/emails/email_message.py +++ b/addons/emails/email_message.py @@ -284,7 +284,7 @@ class email_message(osv.osv): for attachment in attach: attachment_data = { 'name': (subject or '') + _(' (Email Attachment)'), - 'datas': base64.b64encode(attachment[1]), + 'datas': attachment[1], 'datas_fname': attachment[0], 'description': subject or _('No Description'), 'res_model':'email.message', diff --git a/addons/emails/email_view.xml b/addons/emails/email_view.xml index 4a2da7f..929c966 100644 --- a/addons/emails/email_view.xml +++ b/addons/emails/email_view.xml @@ -3,7 +3,7 @@ + id="base.menu_lunch_survey_root" sequence="20"/> email.message.form @@ -34,6 +34,7 @@