diff --git a/datas/res.partner.rgpd.origin.csv b/datas/res.partner.rgpd.origin.csv index a9167947d6e420947c599cfd9bdef734d1d8d43c..e1521a34e1fbc92138a46d8035ac7871859adc5d 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 8baa61155db00f3e683e7eef8962fb848b8e61ce..81ee4f8777348c5c7f0a52ef9b69f943a853bfe5 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"