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