31/01/2024 - 16h

master
cherif 2024-01-31 16:02:17 +01:00
parent 84e8d24220
commit 2a11b604a2
5 changed files with 2455 additions and 73 deletions

View File

@ -1,17 +1,12 @@
<?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="29/01/24 - 21h30"> <list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="ss">
<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$/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$/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$/email_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/email_mgt.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/email_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/email_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/emargement.py" beforeDir="false" afterPath="$PROJECT_DIR$/emargement.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/module_editique.py" beforeDir="false" afterPath="$PROJECT_DIR$/module_editique.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/module_editique.py" beforeDir="false" afterPath="$PROJECT_DIR$/module_editique.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partners.py" beforeDir="false" afterPath="$PROJECT_DIR$/partners.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_humaines.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_humaines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_materiels.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_materiels.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" />
@ -81,13 +76,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680804787304</updated> <updated>1680804787304</updated>
</task> </task>
<task id="LOCAL-00157" summary="23/11/2023 - 21h30">
<created>1700772203290</created>
<option name="number" value="00157" />
<option name="presentableId" value="LOCAL-00157" />
<option name="project" value="LOCAL" />
<updated>1700772203291</updated>
</task>
<task id="LOCAL-00158" summary="24/11/2023 - 18h30"> <task id="LOCAL-00158" summary="24/11/2023 - 18h30">
<created>1700846519563</created> <created>1700846519563</created>
<option name="number" value="00158" /> <option name="number" value="00158" />
@ -424,7 +412,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1706560519176</updated> <updated>1706560519176</updated>
</task> </task>
<option name="localTasksCounter" value="206" /> <task id="LOCAL-00206" summary="ss">
<created>1706645717009</created>
<option name="number" value="00206" />
<option name="presentableId" value="LOCAL-00206" />
<option name="project" value="LOCAL" />
<updated>1706645717009</updated>
</task>
<option name="localTasksCounter" value="207" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -439,7 +434,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="27/12/2023 - 13h" />
<MESSAGE value="27/12/2023 - 23h" /> <MESSAGE value="27/12/2023 - 23h" />
<MESSAGE value="28/12/2023- 19h" /> <MESSAGE value="28/12/2023- 19h" />
<MESSAGE value="29/12/2023- 12h" /> <MESSAGE value="29/12/2023- 12h" />
@ -464,6 +458,7 @@
<MESSAGE value="rrr" /> <MESSAGE value="rrr" />
<MESSAGE value="rrrf" /> <MESSAGE value="rrrf" />
<MESSAGE value="29/01/24 - 21h30" /> <MESSAGE value="29/01/24 - 21h30" />
<option name="LAST_COMMIT_MESSAGE" value="29/01/24 - 21h30" /> <MESSAGE value="ss" />
<option name="LAST_COMMIT_MESSAGE" value="ss" />
</component> </component>
</project> </project>

File diff suppressed because one or more lines are too long

View File

@ -14,6 +14,7 @@ import inspect
import sys, os import sys, os
from bson import ObjectId from bson import ObjectId
from pymongo import ReturnDocument
from xhtml2pdf import pisa from xhtml2pdf import pisa
import module_editique import module_editique
@ -1920,62 +1921,40 @@ def SendEmargementMail( diction):
d'emargement, on log une action dans la collection ==> courrier_template_tracking_history d'emargement, on log une action dans la collection ==> courrier_template_tracking_history
""" """
local_status, local_retval = module_editique.Editic_Log_History_Action_From_courrier_template_type_document_ref_interne( local_status, local_retval = module_editique.Editic_Log_History_Action_From_courrier_template_type_document_ref_interne(
my_partner, "EMARGEMENT_FORMATION", my_partner, "EMARGEMENT_FORMATION", str(val_emarge['session_id']), "emargement", str(val_emarge['_id']) )
str(val_emarge['session_id']))
"""
31/01/2024 :
A présent que la demande d'émargement est envoyée, on met à jour la collection 'emargement' pour
dire que la demande a été envoyé, et quel jour
"""
now = str(datetime.datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))
updata_data = {}
updata_data['date_update'] = now
updata_data['update_by'] = str(my_partner['_id'])
updata_data['statut'] = "1"
updata_data['date_envoi'] = now
MYSY_GV.dbname['emargement'].find_one_and_update({'_id':ObjectId(str(val_emarge['_id'])), 'partner_owner_recid':str(my_partner['recid'])},
{"$set": updata_data},
return_document=ReturnDocument.AFTER
)
print(" Email matinée envoyé " + str(my_emarge_id)) print(" Email matinée envoyé " + str(my_emarge_id))
"""
# envoie de l'emargement de l'apres midi
myurl = "http://127.0.0.1:5001/myclass/api/UserEmargementValidation/" + str(val_emarge['_id']) + "/2"
if (MYSY_GV.MYSY_ENV == "PROD"): return True, " La demande d'émargement a été correctement envoyée"
myurl = "https://apimysy.mysy-training.com/myclass/api/UserEmargementValidation/" + str(
val_emarge['_id']) + "/2"
elif (MYSY_GV.MYSY_ENV == "DEV"):
myurl = "http://127.0.0.1:5001/myclass/api/UserEmargementValidation/" + str(val_emarge['_id']) + "/2"
elif (MYSY_GV.MYSY_ENV == "REC"):
myurl = "https://devapimysy.mysy-training.com/myclass/api/UserEmargementValidation/" + str(
val_emarge['_id']) + "/2"
body = {
"params": {"nom": str(val_emarge['nom']),
"prenom": str(val_emarge['prenom']),
"email": str(val_emarge['email']),
"class_title": str(local_class_title['title']),
"date": str(val_emarge['date']),
"session": "Après-midi",
"code_session": str(local_session_data['code_session']),
"mysyurl": str(myurl),
},
}
sourceHtml = template.render(params=body["params"])
msg_2 = EmailMessage()
msg_2.set_content(sourceHtml, subtype='html')
msg_2['From'] = MYSY_GV.O365_SMTP_COUNT_From_User
msg_2['Cc'] = 'contact@mysy-training.com'
msg_2['Subject'] = "[MySy Training Technology] : Emargement Après-midi du "+str(val_emarge['date'])
msg_2['To'] = str(val_emarge['email'])
#smtpserver.ehlo()
#smtpserver.starttls()
#smtpserver.login(MYSY_GV.O365_SMTP_COUNT_user, MYSY_GV.O365_SMTP_COUNT_password)
val = smtpserver.send_message(msg_2)
smtpserver.close()
print(" Email Apres midi envoyé " + str(my_emarge_id))
"""
return True, "Email envoyé "
except Exception as e: except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info() exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
return False, " Impossible d'envoyer l'email de notification " return False, " Impossible d'envoyer la demande d'émargement "
""" """
Creation manuelle d'une facture avec RIB Creation manuelle d'une facture avec RIB

View File

@ -215,6 +215,12 @@ def CreateTableauEmargement(diction):
Evolution de la fonction de création du tableau d'emargement. Evolution de la fonction de création du tableau d'emargement.
Dans cette evolution, on plutot recuperer les sequence déjà créesq Dans cette evolution, on plutot recuperer les sequence déjà créesq
31/01/2024 :
le statut de l'émargement :
0 ==> Initial
1 ==> Envoyé
2 ==> Validé
""" """
def CreateTableauEmargement_From_Sequence(diction): def CreateTableauEmargement_From_Sequence(diction):
try: try:
@ -249,10 +255,12 @@ def CreateTableauEmargement_From_Sequence(diction):
if ("token" in diction.keys()): if ("token" in diction.keys()):
if diction['token']: if diction['token']:
my_token = diction['token'] my_token = diction['token']
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token) local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
if retval is False: if (local_status is not True):
return "Err_Connexion", " La session de connexion n'est pas valide" return local_status, my_partner
partner_recid = my_partner['recid']
class_internal_url = "" class_internal_url = ""
@ -260,11 +268,6 @@ def CreateTableauEmargement_From_Sequence(diction):
if diction['class_internal_url']: if diction['class_internal_url']:
class_internal_url = diction['class_internal_url'] class_internal_url = diction['class_internal_url']
partner_recid = mycommon.get_parnter_recid_from_token(my_token)
if (partner_recid is False):
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de créer la liste d'emargement ")
return False, "Impossible de créer la liste d'emargement "
session_id = "" session_id = ""
if ("session_id" in diction.keys()): if ("session_id" in diction.keys()):
if diction['session_id']: if diction['session_id']:
@ -373,6 +376,9 @@ def CreateTableauEmargement_From_Sequence(diction):
new_my_local_data['matin'] = False new_my_local_data['matin'] = False
new_my_local_data['apresmidi'] = False new_my_local_data['apresmidi'] = False
new_my_local_data['statut'] = "0"
new_my_local_data['date_envoi'] = ""
new_my_local_data['partner_owner_recid'] = str(str(partner_recid)) new_my_local_data['partner_owner_recid'] = str(str(partner_recid))
#print("### emargement insertion de : "+str(new_my_local_data)) #print("### emargement insertion de : "+str(new_my_local_data))
@ -457,6 +463,12 @@ def GetTableauEmargement(diction):
for retval in MYSY_GV.dbname['emargement'].find({'session_id':str(session_id), for retval in MYSY_GV.dbname['emargement'].find({'session_id':str(session_id),
'class_internal_url':str(class_internal_url)}).sort([("date",pymongo.ASCENDING), ("sequence_start",pymongo.ASCENDING), ("sequence_end",pymongo.ASCENDING),]): 'class_internal_url':str(class_internal_url)}).sort([("date",pymongo.ASCENDING), ("sequence_start",pymongo.ASCENDING), ("sequence_end",pymongo.ASCENDING),]):
user = retval user = retval
if( "statut" not in retval.keys() ):
user['statut'] = ""
if ("date_envoi" not in retval.keys()):
user['date_envoi'] = ""
user['id'] = str(val_tmp) user['id'] = str(val_tmp)
RetObject.append(mycommon.JSONEncoder().encode(user)) RetObject.append(mycommon.JSONEncoder().encode(user))
val_tmp = val_tmp + 1 val_tmp = val_tmp + 1

View File

@ -338,6 +338,38 @@ def Get_Editable_Document_By_Partner_By_Collection(diction):
val['local_related_collection_id'] = local_related_collection_id val['local_related_collection_id'] = local_related_collection_id
val['local_related_collection_name'] = local_related_collection_name val['local_related_collection_name'] = local_related_collection_name
"""
Recuperation des infos de la cible pour qui l'action a été faite.
"""
local_target_collection = ""
local_target_collection_id = ""
local_target_collection_name = ""
if( val and "target_collection" in val.keys() and val['target_collection'] and "target_collection_recid" in val.keys() and val['target_collection_recid']):
if( str(val['target_collection']) == "inscription"):
local_target_collection = str(val['target_collection'])
local_target_collection_id = str(val['target_collection_recid'])
local_target_collection_data = MYSY_GV.dbname[str(val['target_collection'])].find_one({'_id':ObjectId(str(val['target_collection_recid'])),
'partner_owner_recid':str(my_partner['recid'])})
if( local_target_collection_data and "email" in local_target_collection_data.keys()):
local_target_collection_name = local_target_collection_data['email']
elif (str(val['target_collection']) == "emargement"):
local_target_collection = str(val['target_collection'])
local_target_collection_id = str(val['target_collection_recid'])
local_target_collection_data = MYSY_GV.dbname[str(val['target_collection'])].find_one(
{'_id': ObjectId(str(val['target_collection_recid'])),
'partner_owner_recid': str(my_partner['recid'])})
if (local_target_collection_data and "email" in local_target_collection_data.keys()):
local_target_collection_name = local_target_collection_data['email']
val['local_target_collection'] = local_target_collection
val['local_target_collection_id'] = local_target_collection_id
val['local_target_collection_name'] = local_target_collection_name
local_update_by_email = "" local_update_by_email = ""
if( "update_by" in val.keys()): if( "update_by" in val.keys()):
update_by_data = MYSY_GV.dbname['partnair_account'].find_one({'_id':ObjectId(val['update_by']), update_by_data = MYSY_GV.dbname['partnair_account'].find_one({'_id':ObjectId(val['update_by']),
@ -712,6 +744,18 @@ def Editic_Log_History_Action(my_partner, courrier_template_data, related_collec
history_data_to_log['valide'] = "1" history_data_to_log['valide'] = "1"
history_data_to_log['locked'] = "0" history_data_to_log['locked'] = "0"
local_target_collection = ""
if(target_collection ):
local_target_collection = target_collection
local_target_collection_recid = ""
if (target_collection_recid):
local_target_collection_recid = target_collection_recid
history_data_to_log['target_collection'] = local_target_collection
history_data_to_log['target_collection_recid'] = local_target_collection_recid
print( "#### history_data_to_log = ", history_data_to_log) print( "#### history_data_to_log = ", history_data_to_log)
MYSY_GV.dbname['courrier_template_tracking_history'].insert_one(history_data_to_log) MYSY_GV.dbname['courrier_template_tracking_history'].insert_one(history_data_to_log)
@ -762,6 +806,17 @@ def Editic_Log_History_Action_From_courrier_template_type_document_ref_interne(m
history_data_to_log['valide'] = "1" history_data_to_log['valide'] = "1"
history_data_to_log['locked'] = "0" history_data_to_log['locked'] = "0"
local_target_collection = ""
if (target_collection):
local_target_collection = target_collection
local_target_collection_recid = ""
if (target_collection_recid):
local_target_collection_recid = target_collection_recid
history_data_to_log['target_collection'] = local_target_collection
history_data_to_log['target_collection_recid'] = local_target_collection_recid
print( "#### history_data_to_log = ", history_data_to_log) print( "#### history_data_to_log = ", history_data_to_log)
MYSY_GV.dbname['courrier_template_tracking_history'].insert_one(history_data_to_log) MYSY_GV.dbname['courrier_template_tracking_history'].insert_one(history_data_to_log)