Admin' + _body_text2 = 'I am angry !' + _body_text_html2 = 'I am angry !
Admin' - # 3 - Create in mass_mail composition mode that should work with or without email_template installed + # CASE1: create in mass_mail composition mode that should work with email_template installed compose_id = mail_compose.create(cr, uid, - {'subject': _subject, 'body': _body_text}, + {'subject': 'Forget me subject', 'body': 'Dummy body'}, {'default_composition_mode': 'mass_mail', 'default_model': 'mail.group', 'default_res_id': -1, 'default_use_template': True, - 'active_ids': [self.group_pigs_id], 'default_template_id': email_template_id}) + 'active_ids': [self.group_pigs_id, group_bird_id], 'default_template_id': email_template_id}) compose = mail_compose.browse(cr, uid, compose_id) # print compose.subject # Try the 'onchange_template_id' - values = mail_compose.onchange_template_id(cr, uid, [], compose.use_template, compose.template_id, compose.composition_mode, compose.res_id) - # print values - values = mail_compose.onchange_use_template(cr, uid, [], not compose.use_template, compose.template_id, compose.composition_mode, compose.res_id) - # print values + values = mail_compose.onchange_template_id(cr, uid, [], compose.use_template, compose.template_id, compose.composition_mode, compose.model, compose.res_id) + print values + # compose.write(values['value']) + values = mail_compose.onchange_use_template(cr, uid, [], not compose.use_template, compose.template_id, compose.composition_mode, compose.model, compose.res_id) + print values compose.refresh() - - # # Post the comment, get created message - # mail_compose.send_mail(cr, uid, [compose_id], {'default_res_id': -1, 'active_ids': [self.group_pigs_id]}) - # group_pigs.refresh() - # msg = group_pigs.message_ids[0] - - # # Test: last message on Pigs = last created message - # test_msg = self.mail_message.browse(cr, uid, self.mail_message.search(cr, uid, [], limit=1))[0] - # self.assertEqual(msg.id, test_msg.id, 'Pigs did not receive its mass mailing message') - # # Test: mail.message: subject, body - # self.assertEqual(msg.subject, _subject, 'mail.message subject is incorrect') - # self.assertEqual(msg.body, group_pigs.description, 'mail.message body is incorrect') \ No newline at end of file + # Post the comment, get created message + mail_compose.send_mail(cr, uid, [compose_id], {'default_res_id': -1, 'active_ids': [self.group_pigs_id, group_bird_id]}) + group_pigs.refresh() + group_bird.refresh() + message_pigs = group_pigs.message_ids[0] + message_bird = group_bird.message_ids[0] + # Test: subject, body + self.assertEqual(message_pigs.subject, _subject1, 'mail.message subject on Pigs incorrect') + self.assertEqual(message_bird.subject, _subject2, 'mail.message subject on Bird incorrect') + self.assertEqual(message_pigs.body, _body_text_html1, 'mail.message body on Pigs incorrect') + self.assertEqual(message_bird.body, _body_text_html2, 'mail.message body on Bird incorrect') + # Test: partner_ids + print message_pigs.partner_ids + print message_pigs.partner_ids + self.assertEqual(len(message_pigs.partner_ids), 6, 'mail.message partner_ids incorrect') \ No newline at end of file diff --git a/addons/email_template/wizard/email_template_preview.py b/addons/email_template/wizard/email_template_preview.py index 2c1866a53c4..862c34cc426 100644 --- a/addons/email_template/wizard/email_template_preview.py +++ b/addons/email_template/wizard/email_template_preview.py @@ -65,29 +65,19 @@ class email_template_preview(osv.osv_memory): return result _columns = { - 'res_id':fields.selection(_get_records, 'Sample Document'), + 'res_id': fields.selection(_get_records, 'Sample Document'), } def on_change_res_id(self, cr, uid, ids, res_id, context=None): - if not res_id: - return {} + if not res_id: return {} vals = {} email_template = self.pool.get('email.template') template_id = context and context.get('template_id') - template = email_template.get_email_template(cr, uid, template_id=template_id, record_id=res_id, context=context) - model = template.model - vals['email_to'] = self.render_template(cr, uid, template.email_to, model, res_id, context) - vals['email_cc'] = self.render_template(cr, uid, template.email_cc, model, res_id, context) - vals['reply_to'] = self.render_template(cr, uid, template.reply_to, model, res_id, context) - vals['subject'] = self.render_template(cr, uid, template.subject, model, res_id, context) - description = self.render_template(cr, uid, template.body, model, res_id, context) or '' - if template.user_signature: - signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature - description += '\n' + signature - vals['body'] = description - if template.body_html: - vals['body_html'] = self.render_template(cr, uid, template.body_html, model, res_id, context) or '' - vals['report_name'] = self.render_template(cr, uid, template.report_name, model, res_id, context) + template = email_template.browse(cr, uid, template_id, context=context) + vals['name'] = template.name + mail_values = email_template.generate_email(cr, uid, template_id, res_id, context=context) + for k in ('email_from','email_to','email_cc','reply_to','subject','body_html'): + vals[k] = mail_values[k] return {'value': vals} # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/email_template/wizard/email_template_preview_view.xml b/addons/email_template/wizard/email_template_preview_view.xml index 708ca2b0406..f4f75567a42 100644 --- a/addons/email_template/wizard/email_template_preview_view.xml +++ b/addons/email_template/wizard/email_template_preview_view.xml @@ -6,26 +6,22 @@
@@ -323,7 +298,7 @@
%s\n' % signature - insertion_point = body_html.find('