# Copyright 2018 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import api, fields, models class MailActivity(models.Model): _inherit = "mail.activity" partner_id = fields.Many2one( comodel_name="res.partner", index=True, compute="_compute_res_partner_id", store=True, ) commercial_partner_id = fields.Many2one( related="partner_id.commercial_partner_id", string="Commercial Entity", store=True, related_sudo=True, readonly=True, ) @api.depends("res_model", "res_id") def _compute_res_partner_id(self): for obj in self: res_model = obj.res_model res_id = obj.res_id if res_model == "res.partner": obj.partner_id = res_id else: res_model_id = obj.env[res_model].search([("id", "=", res_id)]) if "partner_id" in res_model_id._fields and res_model_id.partner_id: obj.partner_id = res_model_id.partner_id else: obj.partner_id = None