diff --git a/models/res_partner.py b/models/res_partner.py index 7c6ad2efea73bf051d141d5a283ae84b44dc6b66..12faa864660fae683de6dbe26b601c574cf14e2a 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -174,33 +174,36 @@ class ScopPartner(models.Model): - Pas de LM connue → on créée une LM inscription """ self.ensure_one() - last_lm_ids = self.get_last_lm() - lm_adhesion = None - year = fields.Date.today().year if not year else year - - if last_lm_ids: - lm_adhesion = last_lm_ids.filtered( - lambda lm: lm.year == year) + lm_adhesion = self.lm_adhesion_id if not lm_adhesion: - if not last_lm_ids: - dossier_type_inscription_id = self.env.ref( - 'cgscop_liste_ministere.liste_ministere_type_1').id - type_lm = dossier_type_inscription_id - else: - dossier_type_renouvellement_id = self.env.ref( - 'cgscop_liste_ministere.liste_ministere_type_2').id - type_lm = dossier_type_renouvellement_id - lm_adhesion = self.env['liste.ministere'].sudo().create({ - 'partner_id': self.id, - 'year': year, - 'type_id': type_lm - }) - lm_adhesion.action_publish_without_extranet() + last_lm_ids = self.get_last_lm() + if last_lm_ids: + year = fields.Date.today().year if not year else year + lm_adhesion = last_lm_ids.filtered( + lambda lm: lm.year == year) + + if not lm_adhesion: + if not last_lm_ids: + dossier_type_inscription_id = self.env.ref( + 'cgscop_liste_ministere.liste_ministere_type_1').id + type_lm = dossier_type_inscription_id + else: + dossier_type_renouvellement_id = self.env.ref( + 'cgscop_liste_ministere.liste_ministere_type_2').id + type_lm = dossier_type_renouvellement_id + lm_adhesion = self.env['liste.ministere'].sudo().create({ + 'partner_id': self.id, + 'year': year, + 'type_id': type_lm + }) + lm_adhesion.action_publish_without_extranet() + self.lm_adhesion_id = lm_adhesion.id else: if not lm_adhesion.active: lm_adhesion.write({'active': True}) + return lm_adhesion def get_last_lm(self):