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