From 5369aa4841139bef9d4734f8a37380dcf8f928c3 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Mon, 20 Dec 2021 18:28:51 +0100
Subject: [PATCH] [fix] error date end

---
 models/scop_cotisation_cg_exo.py | 53 ++++++++++++++++----------------
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/models/scop_cotisation_cg_exo.py b/models/scop_cotisation_cg_exo.py
index 75c55c9..a6465b3 100644
--- a/models/scop_cotisation_cg_exo.py
+++ b/models/scop_cotisation_cg_exo.py
@@ -210,7 +210,7 @@ class ScopCotisationExo(models.Model):
     # Button functions
     # ------------------------------------------------------
     def action_view_bordereau(self):
-        years = list(range(self.year_exo_start, self.year_exo_start + 1))
+        years = list(range(self.year_exo_start, self.year_exo_end + 1))
         return {
             'name': 'Bordereaux de cotisation - ' + self.partner_id.name,
             'type': 'ir.actions.act_window',
@@ -376,28 +376,29 @@ class ScopCotisationExo(models.Model):
                 else:
                     raise UserError("Erreur, le type d'exonération n'est pas configuré")
 
-                # Create refund
-                member_refund = bordereau_id.invoice_ids.create({
-                    'partner_id': bordereau_id.partner_id.id,
-                    'liasse_fiscale_id': bordereau_id.liasse_fiscale_id.id,
-                    'type': 'out_refund',
-                    'year': bordereau_id.year,
-                    'is_contribution': True,
-                    'type_contribution_id': inv_type,
-                    'journal_id': inv_id.journal_id.id,
-                    'state': 'draft',
-                    'account_id': inv_id.account_id.id,
-                    'payment_mode_id': bordereau_id.payment_mode_id.id,
-                    'date_invoice': self.date_exo_ok,
-                    'date_due': bdx_quarters[quarter - 1],
-                    'bordereau_id': bordereau_id.id,
-                    'cotiz_quarter': quarter,
-                })
-                member_refund.invoice_line_ids.create({
-                    'invoice_id': member_refund.id,
-                    'product_id': inv_id.invoice_line_ids[0].product_id.id,
-                    'account_id': inv_id.invoice_line_ids[0].account_id.id,
-                    'name': inv_id.invoice_line_ids[0].product_id.name + " T" + str(quarter),
-                    'price_unit': exo_amount
-                })
-                self.update({'bordereau_ids': [(4, bordereau_id.id)]})
+                if exo_amount != 0:
+                    # Create refund
+                    member_refund = bordereau_id.invoice_ids.create({
+                        'partner_id': bordereau_id.partner_id.id,
+                        'liasse_fiscale_id': bordereau_id.liasse_fiscale_id.id,
+                        'type': 'out_refund',
+                        'year': bordereau_id.year,
+                        'is_contribution': True,
+                        'type_contribution_id': inv_type,
+                        'journal_id': inv_id.journal_id.id,
+                        'state': 'draft',
+                        'account_id': inv_id.account_id.id,
+                        'payment_mode_id': bordereau_id.payment_mode_id.id,
+                        'date_invoice': self.date_exo_ok,
+                        'date_due': bdx_quarters[quarter - 1],
+                        'bordereau_id': bordereau_id.id,
+                        'cotiz_quarter': quarter,
+                    })
+                    member_refund.invoice_line_ids.create({
+                        'invoice_id': member_refund.id,
+                        'product_id': inv_id.invoice_line_ids[0].product_id.id,
+                        'account_id': inv_id.invoice_line_ids[0].account_id.id,
+                        'name': inv_id.invoice_line_ids[0].product_id.name + " T" + str(quarter),
+                        'price_unit': exo_amount
+                    })
+                    self.update({'bordereau_ids': [(4, bordereau_id.id)]})
-- 
GitLab