You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.1 KiB

  1. # -*- coding: utf-8 -*-
  2. # © 2017 Phuc.nt - <phuc.nt@komit-consulting.com>
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  4. from odoo import models, api
  5. class MailComposer(models.TransientModel):
  6. _inherit = 'mail.compose.message'
  7. @api.model
  8. def generate_email_for_composer(self, template_id, res_ids, fields=None):
  9. if fields is not None:
  10. fields.append('split_mail_by_recipients')
  11. return super(MailComposer, self).generate_email_for_composer(
  12. template_id, res_ids, fields=fields)
  13. @api.multi
  14. def get_mail_values(self, res_ids):
  15. res = super(MailComposer, self).get_mail_values(res_ids)
  16. recipient_ids = []
  17. if self.composition_mode == 'mass_mail' \
  18. and res[res_ids[0]].get('split_mail_by_recipients') == 'merge':
  19. result = {}
  20. for res_id in res_ids:
  21. recipient_ids += [int(i[1]) for i in
  22. res[res_id]['recipient_ids']]
  23. res[res_ids[0]]['recipient_ids'] = [(6, 0, recipient_ids)]
  24. result[res_ids[0]] = res[res_ids[0]]
  25. return result
  26. return res