From e1e1e9cf1cce94b90fa0508d5fa6a742226e470c Mon Sep 17 00:00:00 2001 From: Benjamin <benjamin@le-filament.com> Date: Mon, 9 Nov 2020 19:46:53 +0100 Subject: [PATCH] =?UTF-8?q?[fix]=20gestion=20annulation=20date=20d=C3=A9c?= =?UTF-8?q?=C3=A8s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/scop_period.py | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/models/scop_period.py b/models/scop_period.py index 25d7562..dc9ff42 100644 --- a/models/scop_period.py +++ b/models/scop_period.py @@ -71,22 +71,28 @@ class ScopPeriod(models.Model): @api.multi def write(self, vals): for period in self: - partner_vals = dict(vals) - # Suppression des valeurs à ne pas remonter à l'organisme - partner_vals.pop('partner_id', False) - partner_vals.pop('id_riga', False) - partner_vals.pop('start', False) - partner_vals.pop('comments', False) + if period == period.partner_id.scop_period_ids[0]: + partner_vals = dict(vals) + # Suppression des valeurs à ne pas remonter à l'organisme + partner_vals.pop('partner_id', False) + partner_vals.pop('id_riga', False) + partner_vals.pop('start', False) + partner_vals.pop('comments', False) - # Si la date de fin est modifiée et que l'organisme est décédé - # on remonte la date de décès - if partner_vals.get('end', False): - if partner_vals.get('end_reason', False) == 'deces' or period.end_reason == 'deces': - partner_vals.update({ - 'dissolution_date': partner_vals.get('end') - }) - partner_vals.pop('end', False) + # Si la date de fin est modifiée et que l'organisme est décédé + # on remonte la date de décès + if 'end' in partner_vals: + if partner_vals.get('end_reason', False) == 'deces' or period.end_reason == 'deces': + partner_vals.update({ + 'dissolution_date': partner_vals.get('end') + }) + if not partner_vals.get('end'): + partner_vals.update({ + 'dissolution_date': None + }) - # Update partner - period.partner_id.write(partner_vals) + partner_vals.pop('end', False) + + # Update partner + period.partner_id.write(partner_vals) return super(ScopPeriod, self).write(vals) -- GitLab