diff --git a/datas/scop_membership_reason_end_data.xml b/datas/scop_membership_reason_end_data.xml index f96d04d0d50efb7cbe4ad3dee1006384959f53fb..1569981cf85785117ac3ccb4f1d8a7c7787db76b 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 92084339ce7a7dd6ccc46f243818c3eb2f6bdca6..5a085d4a44e3cf30cb9ecf37725b581548197505 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.")