10/11/2023 - 16h

master
cherif 2023-11-10 16:12:25 +01:00
parent ba57249927
commit 30a7a39782
8 changed files with 2828 additions and 214 deletions

View File

@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="08/11/2023 - 23h"> <list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="09/11/2023 - 23h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/GlobalVariable.py" beforeDir="false" afterPath="$PROJECT_DIR$/GlobalVariable.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/email_inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/email_inscription_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_base_setup.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_base_setup.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_invoice.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_invoice.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -75,13 +79,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680804787304</updated> <updated>1680804787304</updated>
</task> </task>
<task id="LOCAL-00092" summary="30/08/23 - 22h">
<created>1693425919707</created>
<option name="number" value="00092" />
<option name="presentableId" value="LOCAL-00092" />
<option name="project" value="LOCAL" />
<updated>1693425919707</updated>
</task>
<task id="LOCAL-00093" summary="01/09/23 - 19h"> <task id="LOCAL-00093" summary="01/09/23 - 19h">
<created>1693586455361</created> <created>1693586455361</created>
<option name="number" value="00093" /> <option name="number" value="00093" />
@ -418,7 +415,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1699540554777</updated> <updated>1699540554777</updated>
</task> </task>
<option name="localTasksCounter" value="141" /> <task id="LOCAL-00141" summary="09/11/2023 - 23h">
<created>1699567383854</created>
<option name="number" value="00141" />
<option name="presentableId" value="LOCAL-00141" />
<option name="project" value="LOCAL" />
<updated>1699567383855</updated>
</task>
<option name="localTasksCounter" value="142" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -433,7 +437,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="26/09/23 - 23h" />
<MESSAGE value="28/09/23 - 23h" /> <MESSAGE value="28/09/23 - 23h" />
<MESSAGE value="30/09/2023 - 14h" /> <MESSAGE value="30/09/2023 - 14h" />
<MESSAGE value="30/09/2023 - 18h" /> <MESSAGE value="30/09/2023 - 18h" />
@ -458,6 +461,7 @@
<MESSAGE value="23/10/2023 - 16h" /> <MESSAGE value="23/10/2023 - 16h" />
<MESSAGE value="30/10/23 - 16h" /> <MESSAGE value="30/10/23 - 16h" />
<MESSAGE value="08/11/2023 - 23h" /> <MESSAGE value="08/11/2023 - 23h" />
<option name="LAST_COMMIT_MESSAGE" value="08/11/2023 - 23h" /> <MESSAGE value="09/11/2023 - 23h" />
<option name="LAST_COMMIT_MESSAGE" value="09/11/2023 - 23h" />
</component> </component>
</project> </project>

View File

@ -253,6 +253,8 @@ if (MYSY_ENV == "DEV"):
O365_SMTP_COUNT_port = 587 O365_SMTP_COUNT_port = 587
""" """
Repertoire temporaire de telechargement ou de creation de fichier Repertoire temporaire de telechargement ou de creation de fichier
""" """
@ -511,7 +513,7 @@ PARTNER_QUOTATION_STATUS = ['-1', '0', '1', '2']
""" """
Pour mettre en place un système de configuration global, on va definir les valeur acceptée Pour mettre en place un système de configuration global, on va definir les valeur acceptée
""" """
PARTNER_BASE_CONFIG_NAME = ['tva', 'smtp_server', 'smtp_user', 'smtp_user_pwd', 'smtp_count_from_name' ] PARTNER_BASE_CONFIG_NAME = ['tva', 'smtp_server', 'smtp_user', 'smtp_user_pwd', 'smtp_count_from_name', 'smtp_count_port', 'partner_smtp' ]
""" """

File diff suppressed because it is too large Load Diff

View File

@ -213,9 +213,68 @@ def incription_training_confirmation_mail(diction):
# print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml)) # print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml))
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
if (str(partner_own_smtp_value) == "1"):
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Confirmation inscription formation'
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
else:
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Confirmation inscription formation' msg['Subject'] = '[MySy Training]: Confirmation inscription formation'
@ -227,6 +286,8 @@ def incription_training_confirmation_mail(diction):
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password) smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg) val = smtpserver.send_message(msg)
smtpserver.close() smtpserver.close()
print(" Email confirlation envoyé " + str(val)) print(" Email confirlation envoyé " + str(val))
@ -374,7 +435,66 @@ def incription_training_refused_mail(diction):
# print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml)) # print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml))
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Inscription formation refusée'
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email confirmation envoyé " + str(val))
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
@ -388,7 +508,7 @@ def incription_training_refused_mail(diction):
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password) smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg) val = smtpserver.send_message(msg)
smtpserver.close() smtpserver.close()
print(" Email confirlation envoyé " + str(val)) print(" Email confirmation envoyé " + str(val))
return True, " Email confirlation inscritpion bien envoyé" return True, " Email confirlation inscritpion bien envoyé"
@ -447,9 +567,6 @@ def incription_training_cancelled_mail(diction):
# on rentre les renseignements pris sur le site du fournisseur # on rentre les renseignements pris sur le site du fournisseur
# msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
# JINJA2 # JINJA2
templateLoader = jinja2.FileSystemLoader(searchpath="./") templateLoader = jinja2.FileSystemLoader(searchpath="./")
@ -491,9 +608,75 @@ def incription_training_cancelled_mail(diction):
print(" #### body = ", body) print(" #### body = ", body)
sourceHtml = template.render(params=body["params"]) sourceHtml = template.render(params=body["params"])
# msg = MIMEMultipart("alternative")
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg = EmailMessage()
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Inscription formation annulée'
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email confirlation envoyé " + str(val))
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Inscription formation annulée' msg['Subject'] = '[MySy Training]: Inscription formation annulée'
@ -632,9 +815,69 @@ def Pre_incription_training_confirmation_mail(diction):
#print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml)) #print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml))
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training] : pre-inscription formation'
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training] : pre-inscription formation' msg['Subject'] = '[MySy Training] : pre-inscription formation'
@ -717,8 +960,6 @@ def Notification_partner_Pre_incription_mail(diction):
#print(" ### Adresse = "+str(diction['adresse']) ) #print(" ### Adresse = "+str(diction['adresse']) )
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
msg = EmailMessage()
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
# JINJA2 # JINJA2
@ -747,13 +988,72 @@ def Notification_partner_Pre_incription_mail(diction):
sourceHtml = template.render(params=body["params"]) sourceHtml = template.render(params=body["params"])
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
msg = EmailMessage()
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
msg['From'] = partner_SMTP_COUNT_From_User
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Cc'] = 'contact@mysy-training.com, billardman01@hotmail.com' msg['Cc'] = 'contact@mysy-training.com, billardman01@hotmail.com'
msg['Subject'] = '[MySy Training] : pre-inscription à la formation ' + str(diction['title'])
msg['To'] = str(diction['partner_mail'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.loginlogin(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
msg = EmailMessage()
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg.set_content(sourceHtml, subtype='html')
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Cc'] = 'contact@mysy-training.com, billardman01@hotmail.com'
msg['Subject'] = '[MySy Training] : pre-inscription à la formation '+str(diction['title']) msg['Subject'] = '[MySy Training] : pre-inscription à la formation '+str(diction['title'])
msg['To'] = str(diction['partner_mail']) msg['To'] = str(diction['partner_mail'])
@ -815,8 +1115,7 @@ def Evaluation_training_confirmation_mail(diction):
print(" #### my_url = ", my_url) print(" #### my_url = ", my_url)
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
msg = EmailMessage()
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
# JINJA2 # JINJA2
@ -840,8 +1139,70 @@ def Evaluation_training_confirmation_mail(diction):
sourceHtml = template.render(params=body["params"]) sourceHtml = template.render(params=body["params"])
msg.set_content(sourceHtml, subtype='html') """
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
msg = EmailMessage()
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg.set_content(sourceHtml, subtype='html')
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = 'MySy Training : Evaluation formation : ' + str(diction['title'])
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
msg = EmailMessage()
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg.set_content(sourceHtml, subtype='html')
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = 'MySy Training : Evaluation formation : '+str(diction['title']) msg['Subject'] = 'MySy Training : Evaluation formation : '+str(diction['title'])
@ -895,9 +1256,8 @@ def SendAttestion_to_attendee_by_email(diction):
return False, "Impossible d'envoyer l'attestation par email " return False, "Impossible d'envoyer l'attestation par email "
print(' ### diction = ',str(diction))
msg = MIMEMultipart("alternative")
## Recuperation des données du partenaire ## Recuperation des données du partenaire
local_partnair = MYSY_GV.dbname['partnair_account'].find_one({'recid':str(diction['partner_recid']), local_partnair = MYSY_GV.dbname['partnair_account'].find_one({'recid':str(diction['partner_recid']),
@ -985,19 +1345,12 @@ def SendAttestion_to_attendee_by_email(diction):
print(" ### contenu_ftion = ", contenu_ftion) print(" ### contenu_ftion = ", contenu_ftion)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['To'] = str(diction['email_participant'])
ct = datetime.datetime.now() ct = datetime.datetime.now()
ts = ct.timestamp() ts = ct.timestamp()
date_jour = ct.strftime("%d/%m/%Y") date_jour = ct.strftime("%d/%m/%Y")
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
msg = MIMEMultipart("alternative")
msg22 = EmailMessage()
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
# JINJA2 # JINJA2
templateLoader = jinja2.FileSystemLoader(searchpath="./") templateLoader = jinja2.FileSystemLoader(searchpath="./")
@ -1029,7 +1382,7 @@ def SendAttestion_to_attendee_by_email(diction):
}} }}
print("### body 22 ", body)
sourceHtml = template.render(json_data=body["params"]) sourceHtml = template.render(json_data=body["params"])
@ -1048,29 +1401,7 @@ def SendAttestion_to_attendee_by_email(diction):
# close output file # close output file
resultFile.close() resultFile.close()
"""
#-----------
msg22.set_content(sourceHtml, subtype='html')
msg22['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg22['Bcc'] = 'contact@mysy-training.com'
msg22['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['class_title'])
msg22['To'] = str(diction['email_participant'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg22)
smtpserver.close()
print(" Email envoyé " + str(val))
return True, " email envoyé ok"
#----------
"""
html = ''' html = '''
@ -1088,9 +1419,6 @@ def SendAttestion_to_attendee_by_email(diction):
html_mime = MIMEText(html, 'html') html_mime = MIMEText(html, 'html')
# msg.attach(texte_mime)
msg.attach(html_mime)
#print("html_mime =" + str(html)) #print("html_mime =" + str(html))
@ -1100,13 +1428,79 @@ def SendAttestion_to_attendee_by_email(diction):
encoders.encode_base64(part) encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="{0}"' part.add_header('Content-Disposition', 'attachment; filename="{0}"'
.format(os.path.basename(f))) .format(os.path.basename(f)))
msg.attach(part)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User """
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg.attach(html_mime)
msg.attach(part)
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['class_title']) msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['class_title'])
msg['To'] = str(diction['email_participant']) msg['To'] = str(diction['email_participant'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg.attach(html_mime)
msg.attach(part)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['class_title'])
msg['To'] = str(diction['email_participant'])
smtpserver.ehlo() smtpserver.ehlo()
smtpserver.starttls() smtpserver.starttls()
@ -1115,6 +1509,8 @@ def SendAttestion_to_attendee_by_email(diction):
smtpserver.close() smtpserver.close()
print(" Email envoyé " + str(val)) print(" Email envoyé " + str(val))
mytoday = datetime.date.today().strftime("%d/%m/%Y") mytoday = datetime.date.today().strftime("%d/%m/%Y")
my_local_mydata = {'certification_send_date':str(mytoday)} my_local_mydata = {'certification_send_date':str(mytoday)}
@ -1197,8 +1593,6 @@ def SendAttestion_to_attendee_by_email_standalone(diction):
date_jour = ct.strftime("%d/%m/%Y") date_jour = ct.strftime("%d/%m/%Y")
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
# JINJA2 # JINJA2
templateLoader = jinja2.FileSystemLoader(searchpath="./") templateLoader = jinja2.FileSystemLoader(searchpath="./")
@ -1270,9 +1664,73 @@ def SendAttestion_to_attendee_by_email_standalone(diction):
encoders.encode_base64(part) encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="{0}"' part.add_header('Content-Disposition', 'attachment; filename="{0}"'
.format(os.path.basename(f))) .format(os.path.basename(f)))
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg.attach(part) msg.attach(part)
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com, mysytraining@gmail.com'
msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['title'])
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg.attach(part)
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com, mysytraining@gmail.com' msg['Bcc'] = 'contact@mysy-training.com, mysytraining@gmail.com'
msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['title']) msg['Subject'] = 'MySy Training : Votre attestation de formation : ' + str(diction['title'])
@ -1425,8 +1883,6 @@ def LMS_Credential_Sending_mail(diction):
# on rentre les renseignements pris sur le site du fournisseur # on rentre les renseignements pris sur le site du fournisseur
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
# JINJA2 # JINJA2
templateLoader = jinja2.FileSystemLoader(searchpath="./") templateLoader = jinja2.FileSystemLoader(searchpath="./")
@ -1453,15 +1909,73 @@ def LMS_Credential_Sending_mail(diction):
sourceHtml = template.render(params=body["params"]) sourceHtml = template.render(params=body["params"])
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com,' + str(str(diction['course_owner_email']))
msg['Subject'] = '[MySy Training]: Vos identifications de connexion'
msg['To'] = str(diction['email'])
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email confirlation envoyé " + str(val))
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html')
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com,'+str(str(diction['course_owner_email'])) msg['Bcc'] = 'contact@mysy-training.com,'+str(str(diction['course_owner_email']))
msg['Subject'] = '[MySy Training]: Vos identifications de connexion' msg['Subject'] = '[MySy Training]: Vos identifications de connexion'
msg['To'] = str(diction['email']) msg['To'] = str(diction['email'])
smtpserver.ehlo() smtpserver.ehlo()
smtpserver.starttls() smtpserver.starttls()
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password) smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
@ -1511,8 +2025,7 @@ def Employee_Credential_Sending_mail(diction):
# on rentre les renseignements pris sur le site du fournisseur # on rentre les renseignements pris sur le site du fournisseur
# msg = MIMEMultipart("alternative") # msg = MIMEMultipart("alternative")
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
# JINJA2 # JINJA2
# This data can come from database query # This data can come from database query
@ -1562,11 +2075,75 @@ def Employee_Credential_Sending_mail(diction):
sourceHtml = EMPLOYEE_CREDENTIALS_contenu_doc_Template.render(params=body["params"]) sourceHtml = EMPLOYEE_CREDENTIALS_contenu_doc_Template.render(params=body["params"])
# print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml)) # print(" ### PRE_INSCRIPTION_contenu_doc = ",str(sourceHtml))
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(diction['partner_owner_recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg['From'] = partner_SMTP_COUNT_From_User
# msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Vos identifiants de connexion'
msg['To'] = str(diction['email'])
msg['Bcc'] = str(diction['email_bcc'])
# -----------------
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email EMPLOYEE_CREDENTIALS envoyé " + str(val))
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html')
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
#msg['Bcc'] = 'contact@mysy-training.com' #msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = '[MySy Training]: Vos identifiants de connexion' msg['Subject'] = '[MySy Training]: Vos identifiants de connexion'

View File

@ -88,6 +88,7 @@ def Add_Update_Partner_Basic_Setup(diction):
if (local_status is not True): if (local_status is not True):
return local_status, my_partner return local_status, my_partner
if(str(diction['config_name']) not in MYSY_GV.PARTNER_BASE_CONFIG_NAME): if(str(diction['config_name']) not in MYSY_GV.PARTNER_BASE_CONFIG_NAME):
mycommon.myprint( mycommon.myprint(
str(inspect.stack()[0][3]) + " - La configuration '" + str(diction['config_name']) + "' n'est pas acceptée ") str(inspect.stack()[0][3]) + " - La configuration '" + str(diction['config_name']) + "' n'est pas acceptée ")
@ -248,6 +249,9 @@ def Get_List_Partner_Basic_Setup(diction):
RetObject = [] RetObject = []
val_tmp = 1 val_tmp = 1
for New_retVal in MYSY_GV.dbname['base_partner_setup'].find({'partner_owner_recid':str(my_partner['recid']), 'valide':'1', 'locked':'0'}): for New_retVal in MYSY_GV.dbname['base_partner_setup'].find({'partner_owner_recid':str(my_partner['recid']), 'valide':'1', 'locked':'0'}):
if( str(New_retVal['config_name']) == "smtp_user_pwd"):
New_retVal['config_value'] = New_retVal['config_value'][:2]+"...."+str(New_retVal['config_value'])[-2:]
user = New_retVal user = New_retVal
user['id'] = str(val_tmp) user['id'] = str(val_tmp)
val_tmp = val_tmp + 1 val_tmp = val_tmp + 1

View File

@ -1801,23 +1801,96 @@ def Send_Partner_Invoice_By_Email(diction):
print("debut envoi mail de test ") print("debut envoi mail de test ")
msg = EmailMessage() msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if( partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if( str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value':1} )['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value':1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value':1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value':1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value':1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
else:
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
client_main_mail_tmp = "" """
client_invoice_email_tmp = "" La commande est envoyée à l'adresse email qui se trouve sur la commande, le champ : 'order_header_email_client'.
if( 'email' in Order_header_client_data.keys()):
client_main_mail_tmp = Order_header_client_data['email']
if ('invoice_email' in Order_header_client_data.keys()): Si ce champ est vide alors on regarde si il y a un email sur la fiche client.
client_invoice_email_tmp = Order_header_client_data['invoice_email'] """
client_main_mail_tmp = ""
if ("order_header_email_client" in Order_header_data.keys() and Order_header_data['order_header_email_client']):
client_main_mail_tmp = str(Order_header_data['order_header_email_client'])
if (mycommon.isEmailValide(client_main_mail_tmp) is True): if (mycommon.isEmailValide(client_main_mail_tmp) is True):
msg['To'] = client_main_mail_tmp msg['To'] = client_main_mail_tmp
if (mycommon.isEmailValide(client_invoice_email_tmp) is True): else:
msg['Cc'] = client_invoice_email_tmp mycommon.myprint(str(inspect.stack()[0][
3]) + " - L'adresse email sur la commande n'est pas valide ")
return False, " L'adresse email sur la commande n'est pas valide "
else:
mycommon.myprint(str(inspect.stack()[0][
3]) + " - Aucune adresse email sur la commande ")
return False, " Aucune adresse email sur la commande "
if (str(partner_own_smtp_value) == "1"):
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = sujetHtml
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
else:
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com' msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = sujetHtml msg['Subject'] = sujetHtml
@ -1825,6 +1898,8 @@ def Send_Partner_Invoice_By_Email(diction):
smtpserver.ehlo() smtpserver.ehlo()
smtpserver.starttls() smtpserver.starttls()
smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password) smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg) val = smtpserver.send_message(msg)
smtpserver.close() smtpserver.close()
print(" Email envoyé " + str(val)) print(" Email envoyé " + str(val))

View File

@ -4614,25 +4614,122 @@ def Send_Partner_Order_By_Email(diction):
#print(" #### sourceHtml = ", sourceHtml) #print(" #### sourceHtml = ", sourceHtml)
"""
Recuperation des parametre SMTP du partner si le client a decidé d'utiliser son propre smpt
"""
partner_own_smtp_value = "0"
partner_own_smtp = MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid':str(my_partner['recid']),
'config_name': 'partner_smtp',
'valide': '1',
'locked': '0'})
if (partner_own_smtp and "config_value" in partner_own_smtp.keys()):
partner_own_smtp_value = partner_own_smtp['config_value']
if (str(partner_own_smtp_value) == "1"):
partner_SMTP_COUNT_password = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_user_pwd',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_smtpsrv = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_server',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_user = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_user',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_From_User = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_count_from_name',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
partner_SMTP_COUNT_port = str(MYSY_GV.dbname['base_partner_setup'].find_one(
{'partner_owner_recid': str(my_partner['recid']),
'config_name': 'smtp_count_port',
'valide': '1',
'locked': '0'}, {'config_value': 1})['config_value'])
if (str(partner_own_smtp_value) == "1"):
print("debut envoi mail de test ")
msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html')
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
"""
La commande est envoyée à l'adresse email qui se trouve sur la commande, le champ : 'order_header_email_client'.
Si ce champ est vide alors on regarde si il y a un email sur la fiche client.
"""
client_main_mail_tmp = ""
if ("order_header_email_client" in Order_header_data.keys() and Order_header_data[
'order_header_email_client']):
client_main_mail_tmp = str(Order_header_data['order_header_email_client'])
if (mycommon.isEmailValide(client_main_mail_tmp) is True):
msg['To'] = client_main_mail_tmp
else:
mycommon.myprint(str(inspect.stack()[0][
3]) + " - L'adresse email sur la commande n'est pas valide ")
return False, " L'adresse email sur la commande n'est pas valide "
else:
mycommon.myprint(str(inspect.stack()[0][
3]) + " - Aucune adresse email sur la commande ")
return False, " Aucune adresse email sur la commande "
msg['From'] = partner_SMTP_COUNT_From_User
msg['Bcc'] = 'contact@mysy-training.com'
msg['Subject'] = sujetHtml
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.login(partner_SMTP_COUNT_user, partner_SMTP_COUNT_password)
val = smtpserver.send_message(msg)
smtpserver.close()
print(" Email envoyé " + str(val))
else:
print("debut envoi mail de test ") print("debut envoi mail de test ")
msg = EmailMessage() msg = EmailMessage()
msg.set_content(sourceHtml, subtype='html') msg.set_content(sourceHtml, subtype='html')
smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port) smtpserver = smtplib.SMTP(MYSY_GV.O365_SMTP_COUNT_smtpsrv, MYSY_GV.O365_SMTP_COUNT_port)
client_main_mail_tmp = "" """
client_invoice_email_tmp = "" La commande est envoyée à l'adresse email qui se trouve sur la commande, le champ : 'order_header_email_client'.
if ('email' in Order_header_client_data.keys()):
client_main_mail_tmp = Order_header_client_data['email'] Si ce champ est vide alors on regarde si il y a un email sur la fiche client.
"""
client_main_mail_tmp = ""
if( "order_header_email_client" in Order_header_data.keys() and Order_header_data['order_header_email_client']):
client_main_mail_tmp = str(Order_header_data['order_header_email_client'])
if ('invoice_email' in Order_header_client_data.keys()):
client_invoice_email_tmp = Order_header_client_data['invoice_email']
if (mycommon.isEmailValide(client_main_mail_tmp) is True): if (mycommon.isEmailValide(client_main_mail_tmp) is True):
msg['To'] = client_main_mail_tmp msg['To'] = client_main_mail_tmp
if (mycommon.isEmailValide(client_invoice_email_tmp) is True): else:
msg['Cc'] = client_invoice_email_tmp mycommon.myprint(str(inspect.stack()[0][
3]) + " - L'adresse email sur la commande n'est pas valide ")
return False, " L'adresse email sur la commande n'est pas valide "
else:
mycommon.myprint(str(inspect.stack()[0][
3]) + " - Aucune adresse email sur la commande ")
return False, " Aucune adresse email sur la commande "
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User

View File

@ -3393,6 +3393,8 @@ def strip_dictionary(orig_diction):
else : else :
orig_diction[key] = orig_diction[key].strip() orig_diction[key] = orig_diction[key].strip()
return orig_diction return orig_diction