mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] agreement_legal: Add agreement list button
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -8,12 +8,18 @@
|
||||
eval="[(4, ref('agreement_legal.group_agreement_user'))]"
|
||||
/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='internal_notes']" position="after">
|
||||
<page name="agreement" string="Agreements">
|
||||
<group>
|
||||
<field name="agreement_ids" nolabel="1" />
|
||||
</group>
|
||||
</page>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button
|
||||
name="action_open_agreement"
|
||||
type="object"
|
||||
icon="fa-file-archive-o"
|
||||
>
|
||||
<field
|
||||
name="agreements_count"
|
||||
string="Agreements"
|
||||
widget="statinfo"
|
||||
/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user