diff --git a/models/res_partner.py b/models/res_partner.py index 4ab383839cb13cdc2c6a5fb365ed58f9da1bab38..6bc7a42a5cb077156708e8b38af9c54262070ae5 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -411,7 +411,9 @@ class ScopPartner(models.Model): def write(self, vals): result = super(ScopPartner, self).write(vals) for partner in self: - if not partner.is_company and partner.type == 'contact': + if (not partner.is_company + and partner.type == 'contact' + and not partner.user_ids): if (not partner.email and not partner.phone and not partner.mobile): raise ValidationError( @@ -419,6 +421,11 @@ class ScopPartner(models.Model): pour " + partner.name) if vals.get('project_status') == '6_suivi': self._create_period(partner) + partners_to_subscribe = [ + partner.followup_delegate_id.partner_id.id, + partner.creation_delegate_id.partner_id.id + ] + partner.message_subscribe(partner_ids=partners_to_subscribe) return result # Création d'une période lors de la création d'une coopérative @@ -430,6 +437,13 @@ class ScopPartner(models.Model): 'project_status') == '6_suivi': for partner in partners: self._create_period(partner) + + for partner in partners: + partners_to_subscribe = [ + partner.followup_delegate_id.partner_id.id, + partner.creation_delegate_id.partner_id.id + ] + partner.message_subscribe(partner_ids=partners_to_subscribe) return partners