From 3794226ba59210a657d478bda4a91fc15ac11f35 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Sep 2022 17:06:05 +0200 Subject: [PATCH] add registrants to mailing list --- models/event.py | 19 +++++++++++++++++++ views/event.xml | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/models/event.py b/models/event.py index 9e3ad66..54d3c19 100755 --- a/models/event.py +++ b/models/event.py @@ -421,6 +421,25 @@ class KalachakraEvent(models.Model): ) teaching_html_content_records=fields.Html('teaching content records') + def add_registration_to_mailing_list(self): + registrants=self.env['event.registration'].search([('event_id','=',int(self.id))]) + if registrants: + for reg in registrants: + if reg.event_id.recurring_event_newsletter_id: + mailing_contact=self.env['mailing.contact'].sudo().search([('email','=',reg.partner_id.email)],limit=1) + #si le contact n'existe pas comme mailing contact, création + if not mailing_contact: + vals={} + vals['email']=reg.partner_id.email + vals['name']=reg.partner_id.name + vals['title_id']=int(reg.partner_id.title) + vals['country_id']=int(reg.partner_id.country_id) + vals['list_ids']=[(4,int(reg.event_id.recurring_event_newsletter_id))] + mailing_contact=self.env['mailing.contact'].sudo().create(vals) + else: + #si le contact existe, si la liste de diffusion n'est pas lié au contact, on l'ajoute + if not reg.event_id.recurring_event_newsletter_id in mailing_contact.list_ids: + mailing_contact.sudo().write({'list_ids':[(4,int(reg.event_id.recurring_event_newsletter_id))]}) def add_event_to_google_agenda(self): diff --git a/views/event.xml b/views/event.xml index 53189e9..7210337 100755 --- a/views/event.xml +++ b/views/event.xml @@ -117,12 +117,13 @@