diff --git a/models/scop_bordereau_cg.py b/models/scop_bordereau_cg.py index 8d9183757ed6ccf2708ae9c34260b2eb4148d5d1..20e5a17d181ebbb494ad056ccf06056d35a1c61d 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 e7685d186201b3604aa3f2e348abe75e66746e4c..c2134d9debf282381d1d17324dd410df5e71375c 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'))]"/>