15/09/2024 - 18:00
parent
c8d17afaac
commit
b0c1fb553f
|
@ -1,13 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="08/09/2024 - 21terth">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="12/09/2024 - 13:00">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Dashbord_queries/ressources_humaines_tbd_qries.py" beforeDir="false" afterPath="$PROJECT_DIR$/Dashbord_queries/ressources_humaines_tbd_qries.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/E_Sign_Document.py" beforeDir="false" afterPath="$PROJECT_DIR$/E_Sign_Document.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/GlobalVariable.py" beforeDir="false" afterPath="$PROJECT_DIR$/GlobalVariable.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Inscription_mgt.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$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/base_partner_catalog_config.py" beforeDir="false" afterPath="$PROJECT_DIR$/base_partner_catalog_config.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/crm_opportunite.py" beforeDir="false" afterPath="$PROJECT_DIR$/crm_opportunite.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/email_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/email_mgt.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/commands/configuration.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/commands/configuration.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/commands/install.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/commands/install.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/configuration.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/configuration.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/index.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/index.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/wheel.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_internal/wheel.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pip/_vendor/pyparsing.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pip/_vendor/pyparsing.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/pkg_resources/_vendor/pyparsing.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/pkg_resources/_vendor/pyparsing.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/env/Lib/site-packages/setuptools/_vendor/pyparsing.py" beforeDir="false" afterPath="$PROJECT_DIR$/env/Lib/site-packages/setuptools/_vendor/pyparsing.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/note_evaluation_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/note_evaluation_mgt.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
@ -77,13 +91,6 @@
|
|||
<option name="presentableId" value="Default" />
|
||||
<updated>1680804787304</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00346" summary="wwssdssd">
|
||||
<created>1720553186262</created>
|
||||
<option name="number" value="00346" />
|
||||
<option name="presentableId" value="LOCAL-00346" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1720553186264</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00347" summary="wwssdssddd">
|
||||
<created>1720630401945</created>
|
||||
<option name="number" value="00347" />
|
||||
|
@ -420,7 +427,14 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1725902258192</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="395" />
|
||||
<task id="LOCAL-00395" summary="12/09/2024 - 13:00">
|
||||
<created>1726138400951</created>
|
||||
<option name="number" value="00395" />
|
||||
<option name="presentableId" value="LOCAL-00395" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1726138400952</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="396" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
|
@ -462,7 +476,6 @@
|
|||
</option>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="11/08/2024 - 18h32s" />
|
||||
<MESSAGE value="dd" />
|
||||
<MESSAGE value="dddss" />
|
||||
<MESSAGE value="17/08/2024 - 20h55" />
|
||||
|
@ -487,6 +500,7 @@
|
|||
<MESSAGE value="06/09/2024 - 22h" />
|
||||
<MESSAGE value="08/09/2024 - 21h" />
|
||||
<MESSAGE value="08/09/2024 - 21terth" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="08/09/2024 - 21terth" />
|
||||
<MESSAGE value="12/09/2024 - 13:00" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="12/09/2024 - 13:00" />
|
||||
</component>
|
||||
</project>
|
|
@ -394,12 +394,19 @@ def Get_Given_E_Document_Not_Signed_No_Token(diction):
|
|||
'secret_key_open':str(diction['secret_key_open']),
|
||||
'statut':'0'}
|
||||
|
||||
|
||||
for New_retVal in MYSY_GV.dbname['e_document_signe'].find(qry).sort([("_id", pymongo.DESCENDING), ]):
|
||||
|
||||
if( "email_destinataire" in New_retVal.keys() and New_retVal['email_destinataire']):
|
||||
list_email = str(New_retVal['email_destinataire']).replace(",",";")
|
||||
tab_list_email = list_email.split(";")
|
||||
tab_list_email_tmp = list_email.split(";")
|
||||
|
||||
if( str(diction['user_email']) in tab_list_email ) :
|
||||
tab_list_email= []
|
||||
for mail in tab_list_email_tmp:
|
||||
tab_list_email.append(str(mail).strip())
|
||||
|
||||
|
||||
if( str(diction['user_email']).strip() in tab_list_email ) :
|
||||
user = New_retVal
|
||||
user['id'] = str(val_tmp)
|
||||
if( "signature_digitale" in New_retVal.keys() ):
|
||||
|
@ -785,6 +792,30 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
|
|||
"""
|
||||
Apresent que le message est signé, on va mettre à jour le doc
|
||||
"""
|
||||
"""
|
||||
/!\ : 14/09/2024 :
|
||||
On recupere d'abord l'_id du document car comme on autorise plusieurs email,
|
||||
une LIKE provoque un trou de securité et n'est pas bien adaptée
|
||||
"""
|
||||
qry_check = {'valide': '1', 'locked': '0',
|
||||
'_id': ObjectId(str(diction['e_doc_id'])),
|
||||
'secret_key_signature': str(diction['secret_key_signature']),
|
||||
}
|
||||
|
||||
my_doc = MYSY_GV.dbname['e_document_signe'].find_one(qry_check)
|
||||
my_doc_email_destinataire = []
|
||||
if( my_doc and "email_destinataire" in my_doc.keys() and my_doc['email_destinataire']):
|
||||
my_doc_email_destinataire_tmp = str(my_doc['email_destinataire']).replace(",", ";").split(";")
|
||||
for mail in my_doc_email_destinataire_tmp:
|
||||
my_doc_email_destinataire.append(str(mail).strip())
|
||||
|
||||
|
||||
if( str(diction['email_destinataire']).strip() not in my_doc_email_destinataire ):
|
||||
return False, " Impossible de signer le document. Email invalide "
|
||||
|
||||
|
||||
|
||||
|
||||
encoded_signed_pdf_to_string = base64.b64encode(decrypted_message)
|
||||
new_data = {}
|
||||
new_data['signature_digitale'] = msg.digitalsignature
|
||||
|
@ -798,12 +829,8 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
|
|||
qry_key = {'valide': '1', 'locked': '0',
|
||||
'_id': ObjectId(str(diction['e_doc_id'])),
|
||||
'secret_key_signature': str(diction['secret_key_signature']),
|
||||
'email_destinataire': str(diction['email_destinataire'])}
|
||||
}
|
||||
|
||||
print({'valide': '1', 'locked': '0',
|
||||
'_id': ObjectId(str(diction['e_doc_id'])),
|
||||
'secret_key_signature': str(diction['secret_key_signature']),
|
||||
'email_destinataire': str(diction['email_destinataire'])})
|
||||
|
||||
result = MYSY_GV.dbname['e_document_signe'].find_one_and_update(
|
||||
qry_key,
|
||||
|
@ -812,7 +839,7 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
|
|||
return_document=ReturnDocument.AFTER
|
||||
)
|
||||
|
||||
print(" result == ", result)
|
||||
#print(" result == ", result)
|
||||
if ("_id" not in result.keys()):
|
||||
mycommon.myprint(
|
||||
" Impossible de signer le document (2) ")
|
||||
|
@ -834,7 +861,7 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
|
|||
qry_key = {'valide': '1', 'locked': '0',
|
||||
'_id': ObjectId(str(diction['e_doc_id'])),
|
||||
'secret_key_signature': str(diction['secret_key_signature']),
|
||||
'email_destinataire': str(diction['email_destinataire'])}
|
||||
}
|
||||
|
||||
e_document_date_2 = MYSY_GV.dbname['e_document_signe'].find_one(qry_key)
|
||||
|
||||
|
@ -955,7 +982,7 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
|
|||
qry_key = {'valide': '1', 'locked': '0',
|
||||
'_id': ObjectId(str(diction['e_doc_id'])),
|
||||
'secret_key_signature': str(diction['secret_key_signature']),
|
||||
'email_destinataire': str(diction['email_destinataire'])}
|
||||
}
|
||||
|
||||
|
||||
new_data = {}
|
||||
|
|
|
@ -26,6 +26,8 @@ if (MYSY_ENV == "PROD"):
|
|||
CLIENT_URL_BASE = 'https://www.mysy-training.com/'
|
||||
MYSY_DEBUG_LEVEL = 0
|
||||
|
||||
# Domaine pour le catalogue public
|
||||
MYSY_PUBLIC_CATALOG_DOMAIN = 'mysy-hosting.online'
|
||||
|
||||
elif (MYSY_ENV == "DEV"):
|
||||
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_dev"
|
||||
|
@ -34,6 +36,10 @@ elif (MYSY_ENV == "DEV"):
|
|||
CLIENT_URL_BASE = 'http://localhost:3009/'
|
||||
MYSY_DEBUG_LEVEL = 1
|
||||
|
||||
# Domaine pour le catalogue public
|
||||
MYSY_PUBLIC_CATALOG_DOMAIN = 'localhost:3009'
|
||||
|
||||
|
||||
elif (MYSY_ENV == "REC"):
|
||||
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_rec"
|
||||
client = MongoClient(CONNECTION_STRING)
|
||||
|
@ -41,6 +47,9 @@ elif (MYSY_ENV == "REC"):
|
|||
CLIENT_URL_BASE = 'https://dev.mysy-training.com/'
|
||||
MYSY_DEBUG_LEVEL = 1
|
||||
|
||||
# Domaine pour le catalogue public
|
||||
MYSY_PUBLIC_CATALOG_DOMAIN = 'devmysy-hosting.online'
|
||||
|
||||
elif (MYSY_ENV == "DEM"):
|
||||
CONNECTION_STRING = "mongodb://localhost:27017/cherifdb_demo"
|
||||
client = MongoClient(CONNECTION_STRING)
|
||||
|
@ -48,6 +57,9 @@ elif (MYSY_ENV == "DEM"):
|
|||
CLIENT_URL_BASE = 'https://demo.mysy-training.com/'
|
||||
MYSY_DEBUG_LEVEL = 1
|
||||
|
||||
# Domaine pour le catalogue public
|
||||
MYSY_PUBLIC_CATALOG_DOMAIN = 'devmysy-hosting.online'
|
||||
|
||||
|
||||
|
||||
YTUBES_CONNECTION_STRING = "mongodb://localhost:27017/"
|
||||
|
|
|
@ -9140,7 +9140,7 @@ def Sent_Convention_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
new_e_document_diction = {}
|
||||
new_e_document_diction['token'] = diction['token']
|
||||
new_e_document_diction['file_name'] = outputFilename
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
new_e_document_diction['email_destinataire'] = str(toaddrs)
|
||||
new_e_document_diction['source_document'] = new_model_courrier_with_code_tag
|
||||
|
||||
|
@ -9251,7 +9251,7 @@ def Sent_Convention_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
#msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -9268,7 +9268,7 @@ def Sent_Convention_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
#msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
|
||||
|
@ -9760,7 +9760,7 @@ def Sent_Convention_Individuelle_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -9777,7 +9777,7 @@ def Sent_Convention_Individuelle_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
for myfile in tab_files_to_attache_to_mail:
|
||||
|
@ -11002,7 +11002,7 @@ def Sent_Convention_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_pat
|
|||
new_e_document_diction = {}
|
||||
new_e_document_diction['token'] = diction['token']
|
||||
new_e_document_diction['file_name'] = outputFilename
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
new_e_document_diction['email_destinataire'] = str(toaddrs)
|
||||
new_e_document_diction['source_document'] = new_model_courrier_with_code_tag
|
||||
|
||||
|
@ -11122,7 +11122,7 @@ def Sent_Convention_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_pat
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -11139,7 +11139,7 @@ def Sent_Convention_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_pat
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
for myfile in tab_files_to_attache_to_mail:
|
||||
|
|
3416
Log/log_file.log
3416
Log/log_file.log
File diff suppressed because one or more lines are too long
|
@ -6739,7 +6739,7 @@ def Sent_Convocation_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -6757,7 +6757,7 @@ def Sent_Convocation_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
for myfile in tab_files_to_attache_to_mail:
|
||||
|
@ -7300,7 +7300,7 @@ def Sent_Attestation_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -7318,7 +7318,7 @@ def Sent_Attestation_Stagiaire_By_Email(tab_files, Folder, diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
for myfile in tab_files_to_attache_to_mail:
|
||||
|
@ -8932,7 +8932,7 @@ def Sent_Facture_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_path,
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -8949,7 +8949,7 @@ def Sent_Facture_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_path,
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = courrier_template_data['sujet']
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
for myfile in tab_files_to_attache_to_mail:
|
||||
|
@ -11608,8 +11608,8 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
|
|||
|
||||
update_data = {}
|
||||
update_data['invoiced'] = "1"
|
||||
update_data['invoiced_ref'] = ", ".join(tab_invoice)
|
||||
update_data['invoiced_date'] = ", ".join(tab_date_invoice)
|
||||
update_data['invoiced_ref'] = ",".join(tab_invoice)
|
||||
update_data['invoiced_date'] = ",".join(tab_date_invoice)
|
||||
update_data['date_update'] = now
|
||||
update_data['update_by'] = str(my_partner['_id'])
|
||||
|
||||
|
@ -12585,7 +12585,7 @@ def Send_Email_request_presinscription_data_validation(diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
# msg['to'] = "billardman01@hotmail.com"
|
||||
toaddrs = ", ".join(tab_email_contact_client_destinataire)
|
||||
toaddrs = ",".join(tab_email_contact_client_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
smtpserver = smtplib.SMTP(partner_SMTP_COUNT_smtpsrv, partner_SMTP_COUNT_port)
|
||||
|
|
|
@ -242,21 +242,27 @@ def Get_Partner_Catalog_Pub_Config(diction):
|
|||
user['id'] = str(val_tmp)
|
||||
val_tmp = val_tmp + 1
|
||||
|
||||
if( "logo" not in retval.keys() ):
|
||||
user['logo'] = ""
|
||||
|
||||
|
||||
"""
|
||||
Recuperer les données (preview) du
|
||||
config_partner_catalog_theme
|
||||
"""
|
||||
user['theme_preview'] = ""
|
||||
|
||||
if( "theme_id" in retval.keys() and retval['theme_id']):
|
||||
config_partner_catalog_theme_data = MYSY_GV.dbname['config_partner_catalog_theme'].find_one({'_id':ObjectId(str(retval['theme_id'])),
|
||||
'valide':'1',
|
||||
'locked':'0',
|
||||
'partner_owner_recid':"default"})
|
||||
|
||||
config_partner_catalog_theme_data = MYSY_GV.dbname['config_partner_catalog_theme'].find_one({'_id':ObjectId(str(retval['theme_id'])),
|
||||
'valide':'1',
|
||||
'locked':'0',
|
||||
'partner_owner_recid':"default"})
|
||||
|
||||
if( config_partner_catalog_theme_data and "theme_preview" in config_partner_catalog_theme_data.keys() ):
|
||||
user['theme_preview'] = config_partner_catalog_theme_data['theme_preview']
|
||||
if( config_partner_catalog_theme_data and "theme_preview" in config_partner_catalog_theme_data.keys() ):
|
||||
user['theme_preview'] = config_partner_catalog_theme_data['theme_preview']
|
||||
|
||||
else:
|
||||
user['theme_id'] = ""
|
||||
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
|
|
46
class_mgt.py
46
class_mgt.py
|
@ -1966,6 +1966,9 @@ def get_class(diction):
|
|||
if diction['token']:
|
||||
my_token = diction['token']
|
||||
|
||||
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data({'token':str(my_token)})
|
||||
if (local_status is not True):
|
||||
return local_status, my_partner
|
||||
|
||||
client_connected_recid = ""
|
||||
connection_type = ""
|
||||
|
@ -2035,6 +2038,8 @@ def get_class(diction):
|
|||
return False, " Impossible de récupérer le token du partenaire"
|
||||
|
||||
|
||||
|
||||
|
||||
RetObject = []
|
||||
filt_external_code = {}
|
||||
internal_url = ""
|
||||
|
@ -2313,6 +2318,47 @@ def get_class(diction):
|
|||
if ("recyclage_periodicite" not in user.keys()):
|
||||
user['recyclage_periodicite'] = ""
|
||||
|
||||
"""
|
||||
15/09/2024 :
|
||||
Si la formation a des unité d'enseignements rattaché,
|
||||
ramener dans un tableau :
|
||||
- _id
|
||||
- code
|
||||
- titre
|
||||
- description
|
||||
"""
|
||||
tab_ue_detail_data = []
|
||||
if( "list_unite_enseignement" in user.keys() ):
|
||||
for tmp_ue in user["list_unite_enseignement"] :
|
||||
if( "_id" in tmp_ue.keys() ):
|
||||
local_ue_data = MYSY_GV.dbname['unite_enseignement'].find_one({'_id':ObjectId(str(tmp_ue['_id'])),
|
||||
'partner_owner_recid':my_partner['recid'],
|
||||
'valide':'1',
|
||||
'locked':'0'})
|
||||
|
||||
|
||||
local_code = ""
|
||||
if( local_ue_data and "code" in local_ue_data.keys() ):
|
||||
local_code = local_ue_data['code']
|
||||
|
||||
local_titre = ""
|
||||
if (local_ue_data and "titre" in local_ue_data.keys()):
|
||||
local_titre = local_ue_data['titre']
|
||||
|
||||
local_description = ""
|
||||
if (local_ue_data and "description" in local_ue_data.keys()):
|
||||
local_description = local_ue_data['description']
|
||||
|
||||
local_node = {}
|
||||
local_node['_id'] = str(tmp_ue['_id'])
|
||||
local_node['code'] = str(local_code)
|
||||
local_node['titre'] = str(local_titre)
|
||||
local_node['description'] = str(local_description)
|
||||
|
||||
tab_ue_detail_data.append(local_node)
|
||||
|
||||
user['tab_ue_detail_data'] = tab_ue_detail_data
|
||||
|
||||
|
||||
RetObject.append(JSONEncoder().encode(user))
|
||||
|
||||
|
|
|
@ -287,7 +287,7 @@ def Add_CRM_Opportunite(diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
toaddrs = ", ".join(email_to)
|
||||
toaddrs = ",".join(email_to)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
val = smtpserver.send_message(msg)
|
||||
|
@ -299,7 +299,7 @@ def Add_CRM_Opportunite(diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
toaddrs = ", ".join(email_to)
|
||||
toaddrs = ",".join(email_to)
|
||||
msg['to'] = str(toaddrs)
|
||||
val = smtpserver.send_message(msg)
|
||||
print(" Email de notification envoyé " + str(val))
|
||||
|
@ -584,7 +584,7 @@ def Update_CRM_Opportunite(diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
toaddrs = ", ".join(email_to)
|
||||
toaddrs = ",".join(email_to)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
val = smtpserver.send_message(msg)
|
||||
|
@ -596,7 +596,7 @@ def Update_CRM_Opportunite(diction):
|
|||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
toaddrs = ", ".join(email_to)
|
||||
toaddrs = ",".join(email_to)
|
||||
msg['to'] = str(toaddrs)
|
||||
val = smtpserver.send_message(msg)
|
||||
print(" Email de notification envoyé " + str(val))
|
||||
|
|
24
email_mgt.py
24
email_mgt.py
|
@ -147,7 +147,7 @@ def send_partner_account_mail_old(message, account_mail):
|
|||
tomorrow_day = tomorrow.strftime("%A")
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
my_url = ""
|
||||
if (MYSY_GV.MYSY_ENV == "PROD"):
|
||||
|
@ -353,7 +353,7 @@ def Pro_Account_Token_Pass_old(account_mail, my_token):
|
|||
tomorrow_day = tomorrow.strftime("%A")
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
print(" mail enoye à toaddrs : " + toaddrs)
|
||||
print("debut envoi mail de test ")
|
||||
|
@ -473,7 +473,7 @@ def SalesOrderConfirmationEmail_old(account_mail, diction):
|
|||
i = i + 1
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
#print(" mail enoye à toaddrs : " + toaddrs)
|
||||
#print("debut envoi mail de test ")
|
||||
|
@ -623,7 +623,7 @@ def SendInvoiceEmail_Old(account_mail, diction):
|
|||
i = i + 1
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
#print("Facture mail enoye à toaddrs : " + toaddrs)
|
||||
#print("Facture debut envoi mail de test ")
|
||||
|
@ -1075,7 +1075,7 @@ def SalesOrderConfirmationEmail(account_mail, diction):
|
|||
i = i + 1
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
# on rentre les renseignements pris sur le site du fournisseur
|
||||
|
||||
#----------
|
||||
|
@ -1240,7 +1240,7 @@ def send_partner_account_mail(message, account_mail):
|
|||
tomorrow_day = tomorrow.strftime("%A")
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
my_url = ""
|
||||
if (MYSY_GV.MYSY_ENV == "PROD"):
|
||||
|
@ -1314,7 +1314,7 @@ def Pro_Account_Token_Pass(account_mail, my_token):
|
|||
tomorrow_day = tomorrow.strftime("%A")
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
print(" mail enoye à toaddrs : " + toaddrs)
|
||||
print("debut envoi mail de test ")
|
||||
|
@ -1963,7 +1963,7 @@ def SendInvoiceEmail(account_mail, diction):
|
|||
i = i + 1
|
||||
|
||||
receiver = [str(account_mail)]
|
||||
toaddrs = ", ".join(receiver)
|
||||
toaddrs = ",".join(receiver)
|
||||
|
||||
|
||||
|
||||
|
@ -3683,8 +3683,8 @@ def send_invidual_email(diction):
|
|||
if (str(partner_own_smtp_value) == "1"):
|
||||
msg.attach(html_mime)
|
||||
msg['From'] = partner_SMTP_COUNT_From_User
|
||||
msg['Cc'] = ", ".join(tab_email_cc)
|
||||
msg['Bcc'] = ", ".join(tab_email_bcc)
|
||||
msg['Cc'] = ",".join(tab_email_cc)
|
||||
msg['Bcc'] = ",".join(tab_email_bcc)
|
||||
msg['Subject'] = email_sujet
|
||||
msg['to'] = str(email)
|
||||
|
||||
|
@ -3699,8 +3699,8 @@ def send_invidual_email(diction):
|
|||
else:
|
||||
msg.attach(html_mime)
|
||||
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
|
||||
msg['Cc'] = ", ".join(tab_email_cc)
|
||||
msg['Bcc'] = ", ".join(tab_email_bcc)
|
||||
msg['Cc'] = ",".join(tab_email_cc)
|
||||
msg['Bcc'] = ",".join(tab_email_bcc)
|
||||
msg['Subject'] = email_sujet
|
||||
msg['to'] = str(email)
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ class ConfigurationCommand(Command):
|
|||
# Determine action
|
||||
if not args or args[0] not in handlers:
|
||||
logger.error("Need an action ({}) to perform.".format(
|
||||
", ".join(sorted(handlers)))
|
||||
",".join(sorted(handlers)))
|
||||
)
|
||||
return ERROR
|
||||
|
||||
|
|
|
@ -361,7 +361,7 @@ class InstallCommand(RequirementCommand):
|
|||
raise InstallationError(
|
||||
"Could not build wheels for {} which use"
|
||||
" PEP 517 and cannot be installed directly".format(
|
||||
", ".join(r.name for r in build_failures)))
|
||||
",".join(r.name for r in build_failures)))
|
||||
|
||||
to_install = resolver.get_installation_order(
|
||||
requirement_set
|
||||
|
|
|
@ -87,7 +87,7 @@ class Configuration(object):
|
|||
if load_only not in _valid_load_only:
|
||||
raise ConfigurationError(
|
||||
"Got invalid value for load_only - should be one of {}".format(
|
||||
", ".join(map(repr, _valid_load_only[:-1]))
|
||||
",".join(map(repr, _valid_load_only[:-1]))
|
||||
)
|
||||
)
|
||||
self.isolated = isolated # type: bool
|
||||
|
|
|
@ -360,12 +360,12 @@ class PackageFinder(object):
|
|||
lines = []
|
||||
if self.index_urls and self.index_urls != [PyPI.simple_url]:
|
||||
lines.append(
|
||||
"Looking in indexes: {}".format(", ".join(
|
||||
"Looking in indexes: {}".format(",".join(
|
||||
redact_password_from_url(url) for url in self.index_urls))
|
||||
)
|
||||
if self.find_links:
|
||||
lines.append(
|
||||
"Looking in links: {}".format(", ".join(self.find_links))
|
||||
"Looking in links: {}".format(",".join(self.find_links))
|
||||
)
|
||||
return "\n".join(lines)
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ def message_about_scripts_not_on_PATH(scripts):
|
|||
start_text = "script {} is".format(scripts[0])
|
||||
else:
|
||||
start_text = "scripts {} are".format(
|
||||
", ".join(scripts[:-1]) + " and " + scripts[-1]
|
||||
",".join(scripts[:-1]) + " and " + scripts[-1]
|
||||
)
|
||||
|
||||
msg_lines.append(
|
||||
|
|
|
@ -4011,7 +4011,7 @@ class Each(ParseExpression):
|
|||
keepMatching = False
|
||||
|
||||
if tmpReqd:
|
||||
missing = ", ".join(_ustr(e) for e in tmpReqd)
|
||||
missing = ",".join(_ustr(e) for e in tmpReqd)
|
||||
raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing )
|
||||
|
||||
# add any unmatched Optionals, in case they have default values defined
|
||||
|
|
|
@ -3683,7 +3683,7 @@ class Each(ParseExpression):
|
|||
keepMatching = False
|
||||
|
||||
if tmpReqd:
|
||||
missing = ", ".join(_ustr(e) for e in tmpReqd)
|
||||
missing = ",".join(_ustr(e) for e in tmpReqd)
|
||||
raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing )
|
||||
|
||||
# add any unmatched Optionals, in case they have default values defined
|
||||
|
|
|
@ -3683,7 +3683,7 @@ class Each(ParseExpression):
|
|||
keepMatching = False
|
||||
|
||||
if tmpReqd:
|
||||
missing = ", ".join(_ustr(e) for e in tmpReqd)
|
||||
missing = ",".join(_ustr(e) for e in tmpReqd)
|
||||
raise ParseException(instring,loc,"Missing one or more required elements (%s)" % missing )
|
||||
|
||||
# add any unmatched Optionals, in case they have default values defined
|
||||
|
|
|
@ -1400,10 +1400,10 @@ def Send_Evaluation_Convocation_Participant_By_Email(tab_files, Folder, diction)
|
|||
msg['From'] = partner_SMTP_COUNT_From_User
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
email_to_bcc = ", ".join(email_to_bcc)
|
||||
email_to_bcc = ",".join(email_to_bcc)
|
||||
msg['Bcc'] = str(email_to_bcc)
|
||||
|
||||
toaddrs = ", ".join(email_to_cc)
|
||||
toaddrs = ",".join(email_to_cc)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -1419,10 +1419,10 @@ def Send_Evaluation_Convocation_Participant_By_Email(tab_files, Folder, diction)
|
|||
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
|
||||
msg['Subject'] = sujetHtml
|
||||
|
||||
email_to_bcc = ", ".join(email_to_bcc)
|
||||
email_to_bcc = ",".join(email_to_bcc)
|
||||
msg['Bcc'] = str(email_to_bcc)
|
||||
|
||||
toaddrs = ", ".join(email_to_cc)
|
||||
toaddrs = ",".join(email_to_cc)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
|
|
@ -6789,7 +6789,7 @@ def Send_Partner_Order_By_Email(tab_files, Folder, diction):
|
|||
new_e_document_diction = {}
|
||||
new_e_document_diction['token'] = diction['token']
|
||||
new_e_document_diction['file_name'] = outputFilename
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
new_e_document_diction['email_destinataire'] = str(toaddrs)
|
||||
new_e_document_diction['source_document'] = new_model_courrier_with_code_tag
|
||||
|
||||
|
@ -7518,7 +7518,7 @@ def Insert_Quotation_To_Session(diction):
|
|||
new_e_document_diction = {}
|
||||
new_e_document_diction['token'] = diction['token']
|
||||
new_e_document_diction['file_name'] = outputFilename
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
new_e_document_diction['email_destinataire'] = str(toaddrs)
|
||||
new_e_document_diction['source_document'] = new_model_courrier_with_code_tag
|
||||
new_e_document_diction['type'] = "quotation"
|
||||
|
@ -7859,7 +7859,7 @@ def Insert_Quotation_To_Session_From_Partner_Owner_Recid(diction):
|
|||
new_e_document_diction = {}
|
||||
new_e_document_diction['token'] = diction['token']
|
||||
new_e_document_diction['file_name'] = outputFilename
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
new_e_document_diction['email_destinataire'] = str(toaddrs)
|
||||
new_e_document_diction['source_document'] = new_model_courrier_with_code_tag
|
||||
new_e_document_diction['type'] = "quotation"
|
||||
|
@ -8504,7 +8504,7 @@ def Send_Quotation_Remind_Level1(diction):
|
|||
msg['From'] = partner_SMTP_COUNT_From_User
|
||||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
@ -8533,7 +8533,7 @@ def Send_Quotation_Remind_Level1(diction):
|
|||
msg['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
|
||||
msg['Bcc'] = 'contact@mysy-training.com'
|
||||
msg['Subject'] = sujetHtml
|
||||
toaddrs = ", ".join(tab_emails_destinataire)
|
||||
toaddrs = ",".join(tab_emails_destinataire)
|
||||
msg['to'] = str(toaddrs)
|
||||
|
||||
# Attacher l'eventuelle pièces jointes
|
||||
|
|
Loading…
Reference in New Issue