From db2abdf976afef08a77824a42a0f1a77a68643df Mon Sep 17 00:00:00 2001
From: Remi <remi@le-filament.com>
Date: Mon, 14 Oct 2019 16:56:03 +0200
Subject: [PATCH] Add subscription of delegates

---
 models/res_partner.py | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/models/res_partner.py b/models/res_partner.py
index 4ab3838..6bc7a42 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
 
 
-- 
GitLab