diff --git a/models/scop_bordereau_cg.py b/models/scop_bordereau_cg.py index a626d3ad7fec796ad264bc004fcbf39975a90253..e9089b3fd27a0fed0feff99887a7b7e6c5b999e7 100644 --- a/models/scop_bordereau_cg.py +++ b/models/scop_bordereau_cg.py @@ -43,7 +43,9 @@ class Bordereau(models.Model): tracking=1, ) member_number = fields.Integer( - string="N° Adhérent", related="partner_id.member_number_int" + string="N° Adhérent", related="partner_id.member_number_int", + store=True, + index=True ) liasse_fiscale_id = fields.Many2one( comodel_name="scop.liasse.fiscale", @@ -123,6 +125,11 @@ class Bordereau(models.Model): compute="_compute_amount_total_cotiz", store=True, ) + amount_total_cg = fields.Monetary( + string='Cotisation CG Scop', + currency_field='company_currency_id', + compute='_compute_amount_cg', + ) amount_residual = fields.Monetary( string="Montant dû", currency_field="company_currency_id", @@ -277,11 +284,19 @@ class Bordereau(models.Model): for r in self: r.liasse_count = len(r.partner_id.liasse_fiscale_ids) - @api.depends("invoice_count", "invoice_ids.amount_total_signed") + @api.depends("invoice_ids", "invoice_ids.amount_total_signed") def _compute_amount_total_cotiz(self): for r in self: r.amount_total_cotiz = sum(r.invoice_ids.mapped("amount_total_signed")) + def _compute_amount_cg(self): + type_cotisation_cg = self.env.ref('cgscop_partner.riga_14397') + for r in self: + contrib_cg_ids = r.invoice_ids.filtered( + lambda i: i.type_contribution_id == type_cotisation_cg + ) + r.amount_total_cg = sum(contrib_cg_ids.mapped("amount_total_signed")) + @api.depends("invoice_ids", "invoice_ids.amount_residual_signed") def _compute_amount_residual(self): for r in self: