From 9adf7ebaba59c3e7a504aecbc5281aa682c1fa9d Mon Sep 17 00:00:00 2001
From: Remi <remi@le-filament.com>
Date: Tue, 15 Oct 2019 15:22:28 +0200
Subject: [PATCH] =?UTF-8?q?Calcul=20de=20lic=C3=A9it=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
datas/res.partner.rgpd.origin.csv | 16 ++++++------
models/res_partner.py | 43 ++++++++++++++++++++++++++++---
2 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/datas/res.partner.rgpd.origin.csv b/datas/res.partner.rgpd.origin.csv
index a916794..e1521a3 100644
--- a/datas/res.partner.rgpd.origin.csv
+++ b/datas/res.partner.rgpd.origin.csv
@@ -1,13 +1,13 @@
id,name
rgpd_origin_1,"Fiche contact, site internet"
-rgpd_origin_2,Prospect journée d'info coll
+rgpd_origin_2,"Prospect journée d'info coll"
rgpd_origin_3,"Prospect (salon, rdv, internet…)"
-rgpd_origin_4,Dossiers d'adhésion
-rgpd_origin_5,Dossiers Liste ministère
+rgpd_origin_4,"Dossiers d'adhésion"
+rgpd_origin_5,"Dossiers Liste ministère"
rgpd_origin_6,"Dossiers annuels non LM (scic, scop47)"
-rgpd_origin_7,Salariés CG
-rgpd_origin_8,Salariés UR
-rgpd_origin_9,Salariés Fédération
-rgpd_origin_10,Elus
+rgpd_origin_7,"Salariés CG"
+rgpd_origin_8,"Salariés UR"
+rgpd_origin_9,"Salariés Fédération"
+rgpd_origin_10,"Elus"
rgpd_origin_11,"VIP, Officiels"
-rgpd_origin_12,Fournisseurs
+rgpd_origin_12,"Fournisseurs"
diff --git a/models/res_partner.py b/models/res_partner.py
index 8baa611..81ee4f8 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -334,7 +334,9 @@ class ScopPartner(models.Model):
("consent", "Consentement"),
("legitimate", "Intérêt légitime"),
("none", "Aucune")],
- string="Licéité du contact", default="none")
+ string="Licéité du contact",
+ compute="_compute_contact_legality",
+ store=True)
# Champs pour partenaires
organization_type_id = fields.Many2one(
@@ -472,8 +474,6 @@ class ScopPartner(models.Model):
@api.multi
def scop_send_to_cg(self):
- # TODO - add call to API function
-
self.write({
'project_status': '5_cg',
})
@@ -495,6 +495,43 @@ class ScopPartner(models.Model):
})
return True
+ @api.depends('contact_origin_id',
+ 'parent_id.cooperative_form_id',
+ 'parent_id.membership_status')
+ def _compute_contact_legality(self):
+ for partner in self:
+ partner.contact_legality = 'none'
+ if (partner.contact_origin_id.name ==
+ "Fiche contact, site internet"):
+ partner.contact_legality = 'consent'
+ if partner.contact_origin_id.name in (
+ "Prospect journée d'info coll",
+ "Prospect (salon, rdv, internet…)",
+ "Elus"):
+ partner.contact_legality = 'legitimate'
+ if (partner.contact_origin_id.name in (
+ "Salariés CG", "Salariés UR", "Salariés Fédération")):
+ partner.contact_legality = 'employee'
+ if (partner.contact_origin_id.name in (
+ "Elus", "VIP, Officiels", "Fournisseurs")):
+ partner.contact_legality = 'legitimate'
+ if not partner.is_company and partner.parent_id:
+ parent = partner.parent_id
+ if (partner.contact_origin_id.name in (
+ "Dossiers d'adhésion",
+ "Dossiers annuels non LM (scic, scop47)")
+ and parent.cooperative_form_id
+ and parent.membership_status == "member"):
+ partner.contact_legality = 'customer'
+ if (partner.contact_origin_id.name == (
+ "Dossiers annuels non LM (scic, scop47)")
+ and parent.membership_status != "member"):
+ partner.contact_legality = 'legitimate'
+ if (partner.contact_origin_id.name == (
+ "Dossiers Liste ministère")
+ and parent.cooperative_form_id.name == "SCIC"):
+ partner.contact_legality = 'customer'
+
class ResPartneCertification(models.Model):
_name = "res.partner.certification"
--
GitLab