# Copyright 2016 ACSONE SA/NV () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import models, api class MailMessage(models.Model): _inherit = 'mail.message' @api.model def create(self, values): ctx = self.env.context.copy() if not ctx.get('notify_followers') and values.get('partner_ids'): partner_list = self.resolve_2many_commands( 'partner_ids', values.get('partner_ids'), fields=['id']) ctx['force_partners_to_notify'] = [d['id'] for d in partner_list] return super(MailMessage, self.with_context(ctx)).create(values) @api.multi def _notify(self, record, msg_vals, force_send=False, send_after_commit=True, model_description=False, mail_auto_delete=True): res = super()._notify( record, msg_vals, force_send=force_send, send_after_commit=send_after_commit, model_description=model_description, mail_auto_delete=mail_auto_delete) if self.env.context.get('force_partners_to_notify'): # Needaction only for recipients self.needaction_partner_ids = [ (6, 0, self.env.context.get('force_partners_to_notify'))] return res