|
@ -50,10 +50,17 @@ class MailingContact(models.Model): |
|
|
res = super(MailingContact, self).create(values) |
|
|
res = super(MailingContact, self).create(values) |
|
|
#ajout du contact à la liste de diffusion |
|
|
#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 |
|
|
return res |
|
|
|
|
|
|
|
|
def get_info_sendinblue_contact(self): |
|
|
def get_info_sendinblue_contact(self): |
|
|
#https://developers.sendinblue.com/reference/getfolders-1 |
|
|
#https://developers.sendinblue.com/reference/getfolders-1 |
|
|
f = open(SENDINBLUE_ACCOUNT_FILE) |
|
|
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)) |
|
|
api_instance = sib_api_v3_sdk.ContactsApi(sib_api_v3_sdk.ApiClient(configuration)) |
|
|
list_ids=[] |
|
|
list_ids=[] |
|
|
res=self.get_info_sendinblue_contact() |
|
|
res=self.get_info_sendinblue_contact() |
|
|
|
|
|
|
|
|
|
|
|
#si le contact existe dans sendinblue, on lui rajoute la nouvelle |
|
|
|
|
|
# liste de diffusion |
|
|
if res: |
|
|
if res: |
|
|
for id in self.list_ids: |
|
|
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: |
|
|
else: |
|
|
for id in self.list_ids: |
|
|
for id in self.list_ids: |
|
|
list_ids.append(int(id.id_sendinblue_list)) |
|
|
list_ids.append(int(id.id_sendinblue_list)) |
|
@ -100,6 +117,8 @@ class MailingContact(models.Model): |
|
|
api_response = api_instance.create_contact(create_contact) |
|
|
api_response = api_instance.create_contact(create_contact) |
|
|
#raise Warning(api_response) |
|
|
#raise Warning(api_response) |
|
|
pprint(api_response) |
|
|
pprint(api_response) |
|
|
|
|
|
return True |
|
|
|
|
|
|
|
|
except ApiException as e: |
|
|
except ApiException as e: |
|
|
raise Warning("Exception when calling ContactsApi->create_list: %s\n" % e) |
|
|
|
|
|
|
|
|
#raise Warning("Exception when calling ContactsApi->create_list: %s\n" % e) |
|
|
|
|
|
return False |