summaryrefslogtreecommitdiff
path: root/addons/mail/wizard/mail_compose_message.py
diff options
context:
space:
mode:
authorJulien Legros <jle@odoo.com>2016-01-25 11:26:27 +0100
committerJulien Legros <jle@odoo.com>2016-01-25 11:26:27 +0100
commite5e7c4c1217c04d93820cf6007fd8ceed30d0cfa (patch)
tree0c475b2aa9f8f1b92f1550466cc189f1ba36230b /addons/mail/wizard/mail_compose_message.py
parent85b39df834c8689fd22e1a56d780af703a61909d (diff)
parent6872aae8ef9c1a1fc6a8283aa9d12ce3a6859157 (diff)
[MERGE] forward port of branch 9.0 up to 6872aae
Diffstat (limited to 'addons/mail/wizard/mail_compose_message.py')
-rw-r--r--addons/mail/wizard/mail_compose_message.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index 59a1f6cac08..cc2dff25f38 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -188,7 +188,7 @@ class MailComposer(models.TransientModel):
@api.multi
def send_mail_action(self):
# TDE/ ???
- return self.send_mail()
+ return self.with_context(report_template_in_attachment=True).send_mail()
@api.multi
def send_mail(self, auto_commit=False):
@@ -346,6 +346,20 @@ class MailComposer(models.TransientModel):
if template.user_signature and 'body_html' in values:
signature = self.env.user.signature
values['body_html'] = tools.append_content_to_html(values['body_html'], signature, plaintext=False)
+ if template.report_template:
+ attachment = self.env['ir.attachment']
+ attach = self.generate_attachment_from_report(template_id, res_id)
+ for attach_fname, attach_datas in attach[res_id].pop('attachments', []):
+ data_attach = {
+ 'name': attach_fname,
+ 'datas': attach_datas,
+ 'datas_fname': attach_fname,
+ 'res_model': 'mail.compose.message',
+ 'res_id': 0,
+ 'type': 'binary',
+ }
+ values.setdefault('attachment_ids', list()).append(attachment.create(data_attach).id)
+
elif template_id:
values = self.generate_email_for_composer(template_id, [res_id])[res_id]
# transform attachments into attachment_ids; not attached to the document because this will
@@ -377,6 +391,13 @@ class MailComposer(models.TransientModel):
return {'value': values}
@api.multi
+ def generate_attachment_from_report(self, template_id, res_id):
+ fields = ['attachment_ids']
+ result = self.env['mail.template'].with_context(tpl_partners_only=True).browse(template_id).generate_email([res_id], fields=fields)
+ return result
+
+
+ @api.multi
def save_as_template(self):
""" hit save as template button: current form value will be a new
template attached to the current document. """