16/02/23 - 22h

master
cherif 2023-02-16 22:00:22 +01:00
parent fa368d5fc8
commit 706beebfa1
10 changed files with 4482 additions and 159 deletions

View File

@ -1,63 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="1122d9e2-679f-46d6-8c4f-97e9ae4041b5" name="Changes" comment="10/02/23 - 12h">
<list default="true" id="1122d9e2-679f-46d6-8c4f-97e9ae4041b5" name="Changes" comment="14/02/23 - 21h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Emargement/fichier_presence.pdf" beforeDir="false" afterPath="$PROJECT_DIR$/Emargement/fichier_presence.pdf" 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$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Template/MySy_refus_inscription_formation_tpl.html" beforeDir="false" afterPath="$PROJECT_DIR$/Template/MySy_refus_inscription_formation_tpl.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/data_indexees.csv" beforeDir="false" afterPath="$PROJECT_DIR$/data_indexees.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ela_output_test_file_pandas_2.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ela_output_test_file_pandas_2.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/1MmUJTXeSqtM1oAw3CvMlpics5GFzHgshA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/43tXsxZqw8fKpNB9NZmjVIldZT0UJGJKA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/ET6RFag6uHXTK422mvA16bgoosiyqMAw.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/L8Vc2AieT0cAU7OhTUb6940vpIwVGKw.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/Oqt3VnfDVGRgre68Zo4itTk4Ttq3I7aAOg.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/Pp8Ow7y71C3cryl7UMQ7wTIX839AROWtPg.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/SgFdjtrGWjqaRbN2tad86W1D1rN6TRBw.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/TfikDI9GpqKPy2cyi4AauIdlnsVw03Sz5w.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/Uwy3KCl5IEKgWjc3UlEMDrfJjj3az0d7Q.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/X57xQ4e39YWFTdPWrKOYrn7iPuGzlaPQ.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/XRiHuctm0rAN5v2HMIbcIImXFbc2Z9Ow.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/YUf4RZhIblDmv0OoVvgf1kaSHvrfC1OQ.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/ZeTbBbiQSzG6cDbKN5d64HJb7cWVmsQ6w.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/ZgubBCHQ6RYQASTp5mWxn7d0PlALqntA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/cRecvufxIlhBBF97LJvPqXVRr8LbyDrhQ.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/caEdicNLP8iV6EKsYNBY2Lm32maefir1HA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221000015.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100025.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100026.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100028.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100029.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100034.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100036.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100037.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100039.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221100041.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_221200043.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_22900010.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_2290004.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_2290006.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_FACT_2290007.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_00001.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_000017.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_000019.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_00002.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_00004.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_00005.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_00008.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/invoice_MySy_202220220002.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/liste_1.csv" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/liste_1.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/nUzKWq1mQXpAfe4VkXk441dUzsUO21AejA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/oRC9b1ASuHWMaRSAvv8yrmtvADC2bkW5Q.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/psKHk6GRM7JikxNWn1NcmowMna3Qxiow.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/tsiSvYyxHHGSOnUdwEpuHv1aAENySYRaQ.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_direct/xZdHPbFpaOdnQzw5hDozUst2PXfDqc8lA.xlsx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/temp_directAttestation_.pdf" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/wrapper.py" beforeDir="false" afterPath="$PROJECT_DIR$/wrapper.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/tools_cherif/tools_cherif.py" beforeDir="false" afterPath="$PROJECT_DIR$/tools_cherif/tools_cherif.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -340,7 +294,14 @@
<option name="project" value="LOCAL" />
<updated>1676027348546</updated>
</task>
<option name="localTasksCounter" value="32" />
<task id="LOCAL-00032" summary="14/02/23 - 21h">
<created>1676406875389</created>
<option name="number" value="00032" />
<option name="presentableId" value="LOCAL-00032" />
<option name="project" value="LOCAL" />
<updated>1676406875390</updated>
</task>
<option name="localTasksCounter" value="33" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -355,7 +316,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="26/11/22 - 10h30" />
<MESSAGE value="26/11/22 - 23h30" />
<MESSAGE value="15/12/2022 - 22h00" />
<MESSAGE value="16/12/2022 - 22h00" />
@ -380,7 +340,8 @@
<MESSAGE value="05/02/23 - 20h" />
<MESSAGE value="09/02/23 - 11h" />
<MESSAGE value="10/02/23 - 12h" />
<option name="LAST_COMMIT_MESSAGE" value="10/02/23 - 12h" />
<MESSAGE value="14/02/23 - 21h" />
<option name="LAST_COMMIT_MESSAGE" value="14/02/23 - 21h" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>

File diff suppressed because one or more lines are too long

View File

@ -237,12 +237,19 @@ if (MYSY_ENV == "REC"):
if (MYSY_ENV == "DEV"):
O365_SMTP_COUNT_password = 'GomboyaVince1234+'
"""O365_SMTP_COUNT_password = 'GomboyaVince1234+'
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
O365_SMTP_COUNT_user = "cbalde@mysy-training.com"
O365_SMTP_COUNT_From_User = "cbalde@mysy-training.com"
O365_SMTP_COUNT_port = 587"""
O365_SMTP_COUNT_password = 'Sod78!526+'
O365_SMTP_COUNT_smtpsrv = "smtp.office365.com"
O365_SMTP_COUNT_user = "communication@mysytraining.fr"
O365_SMTP_COUNT_From_User = "communication@mysytraining.fr"
O365_SMTP_COUNT_port = 587
"""
Repertoire temporaire de telechargement ou de creation de fichier
"""

View File

@ -619,14 +619,38 @@ def SendInscriptionConfirmation(diction):
# 2 - Recuperation des données de l'inscription
local_session = MYSY_GV.dbname['inscription'].find({'session_id':str(diction['session_id']),
'email':str(diction['email'])})
local_nom = ""
if ("nom" in local_session[0].keys()):
if local_session[0]['nom']:
local_nom = local_session[0]['nom']
data_mail['nom'] = local_nom
local_prenom = ""
if ("prenom" in local_session[0].keys()):
if local_session[0]['prenom']:
local_prenom = local_session[0]['prenom']
data_mail['prenom'] = local_prenom
data_mail['nom'] = local_session[0]['nom']
data_mail['prenom'] = local_session[0]['prenom']
data_mail['email'] = local_session[0]['email']
data_mail['date_du'] = local_session[0]['date_du']
data_mail['date_au'] = local_session[0]['date_au']
data_mail['adresse'] = local_session[0]['adresse']
date_du = ""
if ("date_du" in local_session[0].keys()):
if local_session[0]['date_du']:
date_du = local_session[0]['date_du']
data_mail['date_du'] = str(date_du)[0:10]
date_au = ""
if ("date_au" in local_session[0].keys()):
if local_session[0]['date_au']:
date_au = local_session[0]['date_au']
data_mail['date_au'] = str(date_au)[0:10]
adresse = ""
if ("adresse" in local_session[0].keys()):
if local_session[0]['adresse']:
adresse = local_session[0]['adresse']
data_mail['adresse'] = adresse
local_status, local_message = email_session.incription_training_confirmation_mail(data_mail)
@ -1406,7 +1430,7 @@ Cette fonction va utiliser un template pour imprimer le modele
"""
def PrintAttendeeDetail_perSession(diction):
try:
field_list_obligatoire = ['session_id', 'token', 'attendee_email']
field_list_obligatoire = ['session_id', 'token', 'attendee_email', 'internal_url']
for val in field_list_obligatoire:
if val not in diction:
@ -1429,78 +1453,101 @@ def PrintAttendeeDetail_perSession(diction):
RetObject = []
# Recuperation des infos de la formation
local_Insc_retval = MYSY_GV.dbname['inscription'].find_one({'session_id': str(diction['session_id']),
'email': str(diction['attendee_email'])})
'email': str(diction['attendee_email']),
'class_internal_url':str(diction['internal_url'])})
my_retrun_dict = {}
my_retrun_dict['session_id'] = local_Insc_retval['session_id']
my_retrun_dict['date_du'] = local_Insc_retval['date_du']
my_retrun_dict['date_au'] = local_Insc_retval['date_au']
my_retrun_dict['ville'] = local_Insc_retval['ville']
my_retrun_dict['code_postal'] = local_Insc_retval['code_postal']
date_du = ""
if ("date_du" in local_Insc_retval.keys()):
if local_Insc_retval['date_du']:
date_du = local_Insc_retval['date_du']
my_retrun_dict['date_du'] = str(date_du)[0:10]
date_au = ""
if ("date_au" in local_Insc_retval.keys()):
if local_Insc_retval['date_au']:
date_au = local_Insc_retval['date_au']
my_retrun_dict['date_au'] = str(date_au)[0:10]
ville = ""
if ("ville" in local_Insc_retval.keys()):
if local_Insc_retval['ville']:
code_postal = local_Insc_retval['ville']
my_retrun_dict['ville'] = ville
code_postal = ""
if ("code_postal" in local_Insc_retval.keys()):
if local_Insc_retval['code_postal']:
code_postal = local_Insc_retval['code_postal']
my_retrun_dict['code_postal'] = code_postal
my_adresse = ""
if ("adresse" in diction.keys()):
if diction['adresse']:
if ("adresse" in local_Insc_retval.keys()):
if local_Insc_retval['adresse']:
my_adresse = local_Insc_retval['adresse']
my_retrun_dict['adresse'] = my_adresse
my_nom = ""
if ("nom" in diction.keys()):
if diction['nom']:
if ("nom" in local_Insc_retval.keys()):
if local_Insc_retval['nom']:
my_adresse = local_Insc_retval['nom']
my_retrun_dict['nom'] = my_nom
my_prenom = ""
if ("prenom" in diction.keys()):
if diction['prenom']:
if ("prenom" in local_Insc_retval.keys()):
if local_Insc_retval['prenom']:
my_prenom = local_Insc_retval['prenom']
my_retrun_dict['prenom'] = my_prenom
my_employeur = ""
if ("employeur" in diction.keys()):
if diction['employeur']:
if ("employeur" in local_Insc_retval.keys()):
if local_Insc_retval['employeur']:
my_employeur = local_Insc_retval['employeur']
my_retrun_dict['employeur'] = my_employeur
my_telephone = ""
if ("telephone" in diction.keys()):
if diction['telephone']:
if ("telephone" in local_Insc_retval.keys()):
if local_Insc_retval['telephone']:
my_telephone = local_Insc_retval['telephone']
my_retrun_dict['telephone'] = my_telephone
my_email = ""
if ("email" in diction.keys()):
if diction['email']:
if ("email" in local_Insc_retval.keys()):
if local_Insc_retval['email']:
my_email = local_Insc_retval['email']
my_retrun_dict['email'] = my_email
my_modefinancement = ""
if ("modefinancement" in diction.keys()):
if diction['modefinancement']:
if ("modefinancement" in local_Insc_retval.keys()):
if local_Insc_retval['modefinancement']:
my_modefinancement = local_Insc_retval['modefinancement']
my_retrun_dict['modefinancement'] = my_modefinancement
my_opco = ""
if ("opco" in diction.keys()):
if diction['opco']:
if ("opco" in local_Insc_retval.keys()):
if local_Insc_retval['opco']:
my_opco = local_Insc_retval['opco']
my_retrun_dict['opco'] = my_opco
my_class_internal_url = ""
if ("class_internal_url" in diction.keys()):
if diction['class_internal_url']:
if ("class_internal_url" in local_Insc_retval.keys()):
if local_Insc_retval['class_internal_url']:
my_class_internal_url = local_Insc_retval['class_internal_url']
my_retrun_dict['class_internal_url'] = my_class_internal_url
my_status = ""
if ("status" in diction.keys()):
if diction['status']:
if ("status" in local_Insc_retval.keys()):
if local_Insc_retval['status']:
my_status = local_Insc_retval['status']
my_retrun_dict['status'] = my_status
my_price = ""
if ("price" in diction.keys()):
if diction['price']:
if ("price" in local_Insc_retval.keys()):
if local_Insc_retval['price']:
my_price = local_Insc_retval['price']
my_retrun_dict['price'] = my_price
@ -1607,7 +1654,8 @@ def PrintAttendeeDetail_perSession(diction):
# print(" ### body = " + str(body))
sourceHtml = template.render(json_data=body["data"], presences=body["presences"])
orig_file_name = "fichier_presence.pdf"
mycode = str(datetime.now().timestamp()).replace(".", '').replace(',', '')
orig_file_name = "fichier_personnel_"+str(mycode)[:-3]+"pdf"
outputFilename = str(MYSY_GV.EMARGEMENT_DIRECTORY) + str(orig_file_name)
# open output file for writing (truncated binary)

File diff suppressed because it is too large Load Diff

View File

@ -84,9 +84,15 @@
<p style="text-align:justify">
<p style="text-align:justify">
{% if params.date_du != params.date_fin %}
Nous avons le regret de vous informer que votre
dossier n'a pas été retenu pour la session de formation :
{{params.title}} qui se tiendra du {{params.date_du}} au {{params.date_fin}}.
{% else %}
Nous avons le regret de vous informer que votre
dossier n'a pas été retenu pour la session de formation :
{{params.title}} qui se tiendra le {{params.date_du}} .
{% endif %}
</p>
@ -104,7 +110,7 @@
<p style="text-align:justify">
Ne ne manquerons pas de vous tenir informé des
Nous ne manquerons pas de vous tenir informé des
prochaines sessions de formation
</p>

View File

@ -1,7 +1,4 @@
,index,mots,occurence,moyenne,id_formation,source_field
0,0,maitriser,1,0.17,LPP_0002,title
1,1,base,1,0.17,LPP_0002,title
2,2,voltaire,1,0.17,LPP_0002,title
3,3,grammaire,1,0.17,LPP_0002,title
4,4,orthographe,1,0.17,LPP_0002,title
5,5,certificat,1,0.17,LPP_0002,title
0,0,integrative,1,0.33,MYSY_0004,title
1,1,aromatherapie,1,0.33,MYSY_0004,title
2,2,praticien,1,0.33,MYSY_0004,title

1 index mots occurence moyenne id_formation source_field
2 0 0 maitriser integrative 1 0.17 0.33 LPP_0002 MYSY_0004 title
3 1 1 base aromatherapie 1 0.17 0.33 LPP_0002 MYSY_0004 title
4 2 2 voltaire praticien 1 0.17 0.33 LPP_0002 MYSY_0004 title
3 3 grammaire 1 0.17 LPP_0002 title
4 4 orthographe 1 0.17 LPP_0002 title
5 5 certificat 1 0.17 LPP_0002 title

View File

@ -1,7 +1,4 @@
mots occurence moyenne id_formation source_field
0 maitriser 1 0.17 LPP_0002 title
1 base 1 0.17 LPP_0002 title
2 voltaire 1 0.17 LPP_0002 title
3 grammaire 1 0.17 LPP_0002 title
4 orthographe 1 0.17 LPP_0002 title
5 certificat 1 0.17 LPP_0002 title
mots occurence moyenne id_formation source_field
0 integrative 1 0.33 MYSY_0004 title
1 aromatherapie 1 0.33 MYSY_0004 title
2 praticien 1 0.33 MYSY_0004 title

15
main.py
View File

@ -2190,15 +2190,16 @@ Cette API genere la fiche de presence d'un stagaire
"""
API de generation de liste PDF des liste d'emargement
"""
@app.route('/myclass/api/PrintAttendeeDetail_perSession/<token>/<session_id>/<attendee_email>', methods=['POST','GET'])
@app.route('/myclass/api/PrintAttendeeDetail_perSession/<token>/<session_id>/<attendee_email>/<internal_url>', methods=['POST','GET'])
@crossdomain(origin='*')
def PrintAttendeeDetail_perSession(token, session_id, attendee_email):
def PrintAttendeeDetail_perSession(token, session_id, attendee_email, internal_url):
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
payload = {}
payload['token'] = str(token)
payload['session_id'] = str(session_id)
payload['attendee_email'] = str(attendee_email)
payload['internal_url'] = str(internal_url)
print(" ### PrintAttendeeDetail_perSession : payload = ",str(payload))
localStatus, response= inscription.PrintAttendeeDetail_perSession(payload)
@ -2356,6 +2357,16 @@ def email_validation_list_pos_bio():
localStatus, message= tools_cherif.email_validation_list_pos_bio()
return jsonify(status=localStatus, message=message )
@app.route('/myclass/api/test_tab_mail/', methods=['POST','GET'])
@crossdomain(origin='*')
def test_tab_mail():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### test_tab_mail : payload = ",payload)
localStatus, message= tools_cherif.test_tab_mail(payload)
return jsonify(status=localStatus, message=message )
"""

View File

@ -266,3 +266,45 @@ def email_validation_list_pos_bio():
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de recuperer la formation"
def test_tab_mail(tab_mail):
try:
list_mail = ""
if ("list_mail" in tab_mail.keys()):
list_mail = str(tab_mail['list_mail'])
cpt = 0
val = list_mail
print(" list_mail = ", list_mail)
is_valid = validate_email(
email_address=str(val),
check_format=True,
check_blacklist=True,
check_dns=True,
dns_timeout=100,
check_smtp=True,
smtp_timeout=100,
smtp_helo_host='smtp.office365.com',
smtp_from_address='support@mysy-training.com',
smtp_skip_tls=False,
smtp_tls_context=None,
smtp_debug=False)
retval = ""
checked_status = ""
if (is_valid):
print(" ### l'adresse ",val," est valide ")
retval = True
else:
print(" ### l'adresse ", val, " N'EST PAS valide ")
retval = False
return retval, str(cpt) + " adresse email ont été mise à jour "
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, " Impossible de tester le mail"