39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
# Copyright 2018 ForgeFlow 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 activity in self:
|
|
res_model = activity.res_model
|
|
res_id = activity.res_id
|
|
activity.partner_id = False
|
|
if res_model:
|
|
if res_model == "res.partner":
|
|
activity.partner_id = res_id
|
|
else:
|
|
res_model_id = self.env[res_model].browse(res_id)
|
|
if "partner_id" in res_model_id._fields and res_model_id.partner_id:
|
|
activity.partner_id = res_model_id.partner_id
|
|
else:
|
|
activity.partner_id = False
|