diff --git a/addons/email_template/tests/test_mail.py b/addons/email_template/tests/test_mail.py index 580421fe67e..62291d78dcb 100644 --- a/addons/email_template/tests/test_mail.py +++ b/addons/email_template/tests/test_mail.py @@ -62,7 +62,7 @@ class test_message_compose(TestMail): 'name': 'Pigs Template', 'subject': '${object.name}', 'body_html': '${object.description}', - 'user_signature': True, + 'user_signature': False, 'attachment_ids': [(0, 0, _attachments[0]), (0, 0, _attachments[1])], 'email_to': 'b@b.b, c@c.c', 'email_cc': 'd@d.d' @@ -157,7 +157,7 @@ class test_message_compose(TestMail): message_pids = [partner.id for partner in compose.partner_ids] partner_ids = [p_a_id] self.assertEqual(compose.subject, '${object.name}', 'mail.compose.message subject incorrect') - self.assertEqual(compose.body, '

${object.description}

', 'mail.compose.message body incorrect') + self.assertEqual(compose.body, '

${object.description}

', 'mail.compose.message body incorrect') # todo: check signature self.assertEqual(set(message_pids), set(partner_ids), 'mail.compose.message partner_ids incorrect') # 2. Post the comment, get created message diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py index 71f99471afa..18b8f09de76 100644 --- a/addons/email_template/wizard/mail_compose_message.py +++ b/addons/email_template/wizard/mail_compose_message.py @@ -92,9 +92,16 @@ class mail_compose_message(osv.TransientModel): """ - mass_mailing: we cannot render, so return the template values - normal mode: return rendered values """ if template_id and composition_mode == 'mass_mail': - fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'attachment_ids', 'mail_server_id'] - template_values = self.pool.get('email.template').read(cr, uid, template_id, fields, context) - values = dict((field, template_values[field]) for field in fields if template_values.get(field)) + fields = ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to'] + template = self.pool['email.template'].browse(cr, uid, template_id, context=context) + values = dict((field, getattr(template, field)) for field in fields if getattr(template, field)) + if template.attachment_ids: + values['attachment_ids'] = [att.id for att in template.attachment_ids] + if template.mail_server_id: + values['mail_server_id'] = template.mail_server_id.id + if template.user_signature and 'body_html' in values: + signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature + values['body_html'] = tools.append_content_to_html(values['body_html'], signature) elif template_id: values = self.generate_email_for_composer_batch(cr, uid, template_id, [res_id], context=context)[res_id] # transform attachments into attachment_ids; not attached to the document because this will