From 3abace5866fb8f335acbefa62eea994e444a9c2c Mon Sep 17 00:00:00 2001
From: hsilvant <hsilvant@scop.coop>
Date: Thu, 16 Apr 2020 09:38:28 +0200
Subject: [PATCH] =?UTF-8?q?Radiation=20automatique=20si=20d=C3=A9c=C3=A8s?=
 =?UTF-8?q?=20de=20la=20soci=C3=A9t=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 datas/scop_membership_reason_end_data.xml |  5 +++++
 wizard/scop_deces_wizard.py               | 19 +++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/datas/scop_membership_reason_end_data.xml b/datas/scop_membership_reason_end_data.xml
index f96d04d..1569981 100644
--- a/datas/scop_membership_reason_end_data.xml
+++ b/datas/scop_membership_reason_end_data.xml
@@ -16,5 +16,10 @@
         <record id="reason_end_membership_4" model="scop.membership.reason.end">
             <field name="name">Radiation demandée par le mouvement</field>
         </record>
+
+        <record id="reason_end_membership_5" model="scop.membership.reason.end">
+            <field name="name">Mort économique</field>
+        </record>
+
     </data>
 </odoo>
diff --git a/wizard/scop_deces_wizard.py b/wizard/scop_deces_wizard.py
index 9208433..5a085d4 100644
--- a/wizard/scop_deces_wizard.py
+++ b/wizard/scop_deces_wizard.py
@@ -62,6 +62,25 @@ class ScopDecesWizard(models.TransientModel):
                     'dissolution_date': period.end,
                     'dissolution_reason_id': period.dissolution_reason_id.id
                 })
+
+                #.........................................
+                # HS 08/04/2020
+                # On procède à la radiation à la même date
+                #..........................................
+                # Lecture du motif de radiation type décès
+                motif = self.env['scop.membership.reason.end'].search([
+                ('name', '=', 'Mort économique')], limit=1)
+
+                # Mise à jour des périodes d'adhésions
+                if motif:
+                    adh_period = self.env['scop.membership.period'].search(
+                    [('partner_id', '=', period.partner_id), ('end', '=', False)])
+                    for adh in adh_period:
+                        adh.write({
+                        'end': period.end,
+                        'end_reason_id': motif.id
+                        })
+
             else:
                 raise ValidationError(
                     "Il n'existe pas de période à fermer.")
-- 
GitLab