diff --git a/easy_my_coop_loan/models/partner.py b/easy_my_coop_loan/models/partner.py index 7b6a2f2..61e3f03 100644 --- a/easy_my_coop_loan/models/partner.py +++ b/easy_my_coop_loan/models/partner.py @@ -1,9 +1,30 @@ -from odoo import fields, models +# -*- coding: utf-8 -*- +# Copyright 2019 Coop IT Easy SCRL fs +# Robin Keunen +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models, api class ResPartner(models.Model): - _inherit = 'res.partner' + _inherit = "res.partner" + + loan_line_ids = fields.One2many( + comodel_name="loan.issue.line", + inverse_name="partner_id", + string="Loans", + ) + is_loaner = fields.Boolean( + string="Loaner", + compute="_compute_is_loaner", + store=True, + ) - loan_line_ids = fields.One2many('loan.issue.line', - 'partner_id', - string="Loans") + @api.multi + @api.depends("loan_line_ids", "loan_line_ids.state") + def _compute_is_loaner(self): + for partner in self: + loans = partner.loan_line_ids.filtered( + lambda l: l.state in ["subscribed", "waiting", "paid"] + ) + partner.is_loaner = bool(loans) diff --git a/easy_my_coop_loan/views/menus.xml b/easy_my_coop_loan/views/menus.xml index 6ed2243..55f577f 100644 --- a/easy_my_coop_loan/views/menus.xml +++ b/easy_my_coop_loan/views/menus.xml @@ -8,5 +8,7 @@ + + diff --git a/easy_my_coop_loan/views/partner_view.xml b/easy_my_coop_loan/views/partner_view.xml index 60ad0f7..59577bf 100644 --- a/easy_my_coop_loan/views/partner_view.xml +++ b/easy_my_coop_loan/views/partner_view.xml @@ -1,11 +1,19 @@ + + res.partner.form.loan.issue res.partner - + + + + @@ -20,4 +28,23 @@ - \ No newline at end of file + + + res.partner.select + res.partner + + + + + + + + + + Loaners + res.partner + form + kanban,tree,form + {'search_default_loaners':1} + +