From e77ea625bcb19dddc62f75102a6bd9cff83712fa Mon Sep 17 00:00:00 2001 From: jordan <jordan@le-filament.com> Date: Wed, 15 Dec 2021 15:51:17 +0100 Subject: [PATCH] [add] compute has_outstanding to add filter on tree view --- models/scop_bordereau_cg.py | 16 +++++++++++----- views/scop_bordereau_cg.xml | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/models/scop_bordereau_cg.py b/models/scop_bordereau_cg.py index 8d91837..20e5a17 100644 --- a/models/scop_bordereau_cg.py +++ b/models/scop_bordereau_cg.py @@ -192,7 +192,8 @@ class Bordereau(models.Model): ) has_outstanding = fields.Boolean( string='Paiements en circulation', - compute='_compute_has_outstanding') + compute='_compute_has_outstanding', store=True + ) # ------------------------------------------------------ # Compute @@ -310,11 +311,15 @@ class Bordereau(models.Model): else: bordereau.is_liasse_previ = False + @api.depends('invoice_ids.residual') @api.multi def _compute_has_outstanding(self): for r in self: - if r.invoice_ids.filtered(lambda i: i.has_outstanding is True): - r.has_outstanding = True + if r.invoice_ids: + if r.invoice_ids.filtered(lambda i: i.has_outstanding is True): + r.has_outstanding = True + else: + r.has_outstanding = False else: r.has_outstanding = False @@ -331,7 +336,8 @@ class Bordereau(models.Model): + str(contrib.get('type_contribution_id')[1]) + '</td><td style="width: 100%;">' + str( - contrib.get('amount_total_signed')) + ' €</td>') + contrib.get('amount_total_signed')) + + ' €</td></tr>') detail += "</table><table class='o_group o_inner_group'>" for i in range(1, 5): amount_echeance = sum(self.invoice_ids.filtered( @@ -340,7 +346,7 @@ class Bordereau(models.Model): detail += '<tr><td class="o_td_label font-weight-bold">' \ + 'Trimestre ' + str(i) \ + '</td><td style="width: 100%;">' \ - + str(amount_echeance) + ' €</td>' + + str(amount_echeance) + ' €</td></tr>' detail += '</table>' r.details = detail diff --git a/views/scop_bordereau_cg.xml b/views/scop_bordereau_cg.xml index e7685d1..c2134d9 100644 --- a/views/scop_bordereau_cg.xml +++ b/views/scop_bordereau_cg.xml @@ -197,6 +197,8 @@ domain="[('state', '=', 'validated')]"/> <filter name="state_paid" string="Payé" domain="[('state', '=', 'paid')]"/> + <filter name="has_outstanding" string="Paiements en cours" + domain="[('has_outstanding', '=', True)]"/> <separator/> <filter name="current_year" string="Campagne année en cours" domain="[('year', '=', (context_today()).strftime('%Y'))]"/> -- GitLab