# Copyright 2019 Alexandre Díaz # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import models, api, _ from email.utils import getaddresses from odoo.tools import email_split_and_format class MailThread(models.AbstractModel): _inherit = "mail.thread" @api.multi @api.returns('self', lambda value: value.id) def message_post(self, *args, **kwargs): new_message = super().message_post(*args, **kwargs) email_cc = kwargs.get('cc') if email_cc: new_message.sudo().write({ 'email_cc': email_cc, }) return new_message @api.multi def message_get_suggested_recipients(self): res = super().message_get_suggested_recipients() ResPartnerObj = self.env['res.partner'] for record in self: messages = record.message_ids.filtered('email_cc') for msg in messages: email_cc_list = email_split_and_format(msg.email_cc) for cc in email_cc_list: email_parts = getaddresses([cc])[0] partner_id = record.message_partner_info_from_emails( [email_parts[1]])[0].get('partner_id') if not partner_id: res[record.id].append((False, cc, _('Cc'))) else: partner = ResPartnerObj.browse(partner_id, self._prefetch) record._message_add_suggested_recipient( res, partner=partner, reason=_('Cc')) return res