diff --git a/models/mailing_list.py b/models/mailing_list.py index 7ae3494..0e32a01 100644 --- a/models/mailing_list.py +++ b/models/mailing_list.py @@ -50,10 +50,17 @@ class MailingContact(models.Model): res = super(MailingContact, self).create(values) #ajout du contact à la liste de diffusion - res.create_sendinblue_contact( - - ) + res.create_sendinblue_contact() + return res + + def write(self, values): + + res = super(MailingContact, self).write(values) + #ajout du contact à la liste de diffusion + + self.create_sendinblue_contact() return res + def get_info_sendinblue_contact(self): #https://developers.sendinblue.com/reference/getfolders-1 f = open(SENDINBLUE_ACCOUNT_FILE) @@ -84,11 +91,21 @@ class MailingContact(models.Model): api_instance = sib_api_v3_sdk.ContactsApi(sib_api_v3_sdk.ApiClient(configuration)) list_ids=[] res=self.get_info_sendinblue_contact() - + #si le contact existe dans sendinblue, on lui rajoute la nouvelle + # liste de diffusion if res: for id in self.list_ids: - if not id.id_sendinblue_list in res.list_ids: - list_ids.append(int(id.id_sendinblue_list)) + if id.id_sendinblue_list: + if not id.id_sendinblue_list in res.list_ids: + contact_emails = sib_api_v3_sdk.AddContactToList() + contact_emails.emails = [self.email] + try: + api_response = api_instance.add_contact_to_list(id.id_sendinblue_list, contact_emails) + pprint(api_response) + except ApiException as e: + continue + return True + #si le contact n'existe pas dans sendinblue, on le créé else: for id in self.list_ids: list_ids.append(int(id.id_sendinblue_list)) @@ -100,6 +117,8 @@ class MailingContact(models.Model): api_response = api_instance.create_contact(create_contact) #raise Warning(api_response) pprint(api_response) + return True except ApiException as e: - raise Warning("Exception when calling ContactsApi->create_list: %s\n" % e) \ No newline at end of file + #raise Warning("Exception when calling ContactsApi->create_list: %s\n" % e) + return False \ No newline at end of file diff --git a/views/mailing_list.xml b/views/mailing_list.xml index 348322e..afed7b5 100644 --- a/views/mailing_list.xml +++ b/views/mailing_list.xml @@ -7,7 +7,7 @@