diff options
| author | Julien Legros <jle@odoo.com> | 2016-01-25 11:26:27 +0100 |
|---|---|---|
| committer | Julien Legros <jle@odoo.com> | 2016-01-25 11:26:27 +0100 |
| commit | e5e7c4c1217c04d93820cf6007fd8ceed30d0cfa (patch) | |
| tree | 0c475b2aa9f8f1b92f1550466cc189f1ba36230b /addons/mail/wizard/mail_compose_message.py | |
| parent | 85b39df834c8689fd22e1a56d780af703a61909d (diff) | |
| parent | 6872aae8ef9c1a1fc6a8283aa9d12ce3a6859157 (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.py | 23 |
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. """ |
