diff --git a/agreement_legal/models/res_partner.py b/agreement_legal/models/res_partner.py index 896c7b0ad..152ce90d4 100644 --- a/agreement_legal/models/res_partner.py +++ b/agreement_legal/models/res_partner.py @@ -1,10 +1,26 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import fields, models +from odoo import api, fields, models class Partner(models.Model): _inherit = "res.partner" agreement_ids = fields.One2many("agreement", "partner_id", string="Agreements") + agreements_count = fields.Integer(compute="_compute_agreements_count") + + @api.depends("agreement_ids") + def _compute_agreements_count(self): + for record in self: + record.agreements_count = len(record.agreement_ids) + + def action_open_agreement(self): + self.ensure_one() + action = self.env.ref("agreement.agreement_action") + result = action.read()[0] + result["domain"] = [("partner_id", "=", self.id)] + result["context"] = { + "default_partner_id": self.id, + } + return result diff --git a/agreement_legal/views/res_partner.xml b/agreement_legal/views/res_partner.xml index 781245f91..40467369b 100644 --- a/agreement_legal/views/res_partner.xml +++ b/agreement_legal/views/res_partner.xml @@ -8,12 +8,18 @@ eval="[(4, ref('agreement_legal.group_agreement_user'))]" /> - - - - - - + +