21/08/2024 - 13h55
parent
133e7f04c3
commit
272665efde
|
@ -1,16 +1,13 @@
|
||||||
<?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="20/08/2024 - 13h55">
|
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="20/08/2024 - 21h55">
|
||||||
<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$/Dashbord_queries/inscription_tdb_qries.py" beforeDir="false" afterPath="$PROJECT_DIR$/Dashbord_queries/inscription_tdb_qries.py" 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$/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$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/apprenant_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/apprenant_mgt.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ressources_humaines.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_humaines.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lms_chamilo/mysy_lms.py" beforeDir="false" afterPath="$PROJECT_DIR$/lms_chamilo/mysy_lms.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/suivi_pedagogique_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/suivi_pedagogique_mgt.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.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" />
|
||||||
|
@ -80,13 +77,6 @@
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1680804787304</updated>
|
<updated>1680804787304</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00328" summary="ssq">
|
|
||||||
<created>1717867948694</created>
|
|
||||||
<option name="number" value="00328" />
|
|
||||||
<option name="presentableId" value="LOCAL-00328" />
|
|
||||||
<option name="project" value="LOCAL" />
|
|
||||||
<updated>1717867948695</updated>
|
|
||||||
</task>
|
|
||||||
<task id="LOCAL-00329" summary="qqsd">
|
<task id="LOCAL-00329" summary="qqsd">
|
||||||
<created>1718034595563</created>
|
<created>1718034595563</created>
|
||||||
<option name="number" value="00329" />
|
<option name="number" value="00329" />
|
||||||
|
@ -423,7 +413,14 @@
|
||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1724154821337</updated>
|
<updated>1724154821337</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="377" />
|
<task id="LOCAL-00377" summary="20/08/2024 - 21h55">
|
||||||
|
<created>1724183059275</created>
|
||||||
|
<option name="number" value="00377" />
|
||||||
|
<option name="presentableId" value="LOCAL-00377" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1724183059276</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="378" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="Vcs.Log.Tabs.Properties">
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
@ -465,7 +462,6 @@
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="VcsManagerConfiguration">
|
<component name="VcsManagerConfiguration">
|
||||||
<MESSAGE value="17/07/2024 - 11h30sdf" />
|
|
||||||
<MESSAGE value="21/07/2024 - 12h" />
|
<MESSAGE value="21/07/2024 - 12h" />
|
||||||
<MESSAGE value="23/07/2024 - 12h" />
|
<MESSAGE value="23/07/2024 - 12h" />
|
||||||
<MESSAGE value="26/07/2024 - 12h" />
|
<MESSAGE value="26/07/2024 - 12h" />
|
||||||
|
@ -490,6 +486,7 @@
|
||||||
<MESSAGE value="18/08/2024 - 16h55" />
|
<MESSAGE value="18/08/2024 - 16h55" />
|
||||||
<MESSAGE value="18/08/2024 - 21h55" />
|
<MESSAGE value="18/08/2024 - 21h55" />
|
||||||
<MESSAGE value="20/08/2024 - 13h55" />
|
<MESSAGE value="20/08/2024 - 13h55" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="20/08/2024 - 13h55" />
|
<MESSAGE value="20/08/2024 - 21h55" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="20/08/2024 - 21h55" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
2737
Log/log_file.log
2737
Log/log_file.log
File diff suppressed because one or more lines are too long
42
main.py
42
main.py
|
@ -10243,6 +10243,22 @@ def Get_List_Suivi_Pedagogique_No_Filter():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
API pour Recuperation de la liste des suivis pédagoqiques d'un employe
|
||||||
|
"""
|
||||||
|
@app.route('/myclass/api/Get_List_Employee_Suivi_Pedagogique_No_Filter/', methods=['POST','GET'])
|
||||||
|
@crossdomain(origin='*')
|
||||||
|
def Get_List_Employee_Suivi_Pedagogique_No_Filter():
|
||||||
|
# On recupere le corps (payload) de la requete
|
||||||
|
payload = mycommon.strip_dictionary (request.form.to_dict())
|
||||||
|
print(" ### Get_List_Employee_Suivi_Pedagogique_No_Filter payload = ",payload)
|
||||||
|
status, retval = suivi_pedagogique_mgt.Get_List_Employee_Suivi_Pedagogique_No_Filter(payload)
|
||||||
|
return jsonify(status=status, message=retval)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
API pour Recuperer les données d'un Suivi Pedagogique
|
API pour Recuperer les données d'un Suivi Pedagogique
|
||||||
"""
|
"""
|
||||||
|
@ -10843,6 +10859,32 @@ def Apply_Planning_Model_To_Session():
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
API de generation la version PDF d'un contrat d'un employé
|
||||||
|
"""
|
||||||
|
@app.route('/myclass/api/Print_Employee_Given_Contrat/<token>/<rh_id>/<contract_id>/', methods=['POST','GET'])
|
||||||
|
@crossdomain(origin='*')
|
||||||
|
def Print_Employee_Given_Contrat(token, rh_id, contract_id):
|
||||||
|
# On recupere le corps (payload) de la requete
|
||||||
|
payload = mycommon.strip_dictionary (request.form.to_dict())
|
||||||
|
payload = {}
|
||||||
|
payload['token'] = str(token)
|
||||||
|
payload['rh_id'] = str(rh_id)
|
||||||
|
payload['contract_id'] = str(contract_id)
|
||||||
|
|
||||||
|
print(" ### Print_Employee_Given_Contrat : payload = ",str(payload))
|
||||||
|
|
||||||
|
localStatus, response= ressources_humaines.Print_Employee_Given_Contrat(payload)
|
||||||
|
if(localStatus ):
|
||||||
|
return response
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print(" debut api")
|
print(" debut api")
|
||||||
context = SSL.Context(SSL.SSLv23_METHOD)
|
context = SSL.Context(SSL.SSLv23_METHOD)
|
||||||
|
|
|
@ -10,11 +10,15 @@ Une ressource humaine a toujours un profil (enseignant, cadre admin) et une fonc
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import pymongo
|
import pymongo
|
||||||
|
from flask import send_file
|
||||||
|
from pandas.io.formats.style import jinja2
|
||||||
from pymongo import MongoClient
|
from pymongo import MongoClient
|
||||||
import json
|
import json
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
import re
|
import re
|
||||||
from datetime import datetime
|
from datetime import datetime, date
|
||||||
|
|
||||||
|
from xhtml2pdf import pisa
|
||||||
|
|
||||||
import partners
|
import partners
|
||||||
import prj_common as mycommon
|
import prj_common as mycommon
|
||||||
|
@ -5143,3 +5147,176 @@ def Delete_RH_Competence(diction):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Cette fonction permet d'imprimer le contrat d'un empoyé
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def Print_Employee_Given_Contrat(diction):
|
||||||
|
try:
|
||||||
|
diction = mycommon.strip_dictionary(diction)
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification des input acceptés
|
||||||
|
"""
|
||||||
|
field_list = ['token', 'rh_id', 'contract_id']
|
||||||
|
|
||||||
|
incom_keys = diction.keys()
|
||||||
|
for val in incom_keys:
|
||||||
|
if val not in field_list and val.startswith('my_') is False:
|
||||||
|
mycommon.myprint(str(
|
||||||
|
inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
|
||||||
|
return False, " Les informations fournies sont incorrectes"
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification des champs obligatoires
|
||||||
|
"""
|
||||||
|
field_list_obligatoire = ['token', 'rh_id', 'contract_id']
|
||||||
|
|
||||||
|
for val in field_list_obligatoire:
|
||||||
|
if val not in diction:
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
|
||||||
|
return False, " Les informations fournies sont incorrectes"
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification de l'identité et autorisation de l'entité qui
|
||||||
|
appelle cette API
|
||||||
|
"""
|
||||||
|
token = ""
|
||||||
|
if ("token" in diction.keys()):
|
||||||
|
if diction['token']:
|
||||||
|
token = diction['token']
|
||||||
|
|
||||||
|
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
|
||||||
|
if (local_status is not True):
|
||||||
|
return local_status, my_partner
|
||||||
|
|
||||||
|
# Verifier que la ressource_humaine est valide
|
||||||
|
is_rh_id_valide = MYSY_GV.dbname['ressource_humaine'].count_documents(
|
||||||
|
{'_id': ObjectId(str(diction['rh_id'])),
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0',
|
||||||
|
'partner_recid': str(
|
||||||
|
my_partner['recid'])})
|
||||||
|
|
||||||
|
if (is_rh_id_valide != 1):
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " L'identifiant de la ressource humaine est invalide ")
|
||||||
|
return False, " L'identifiant de la ressource humaine est invalide "
|
||||||
|
|
||||||
|
|
||||||
|
RetObject = []
|
||||||
|
val_tmp = 0
|
||||||
|
for retval in MYSY_GV.dbname['ressource_humaine_contrat'].find({'rh_id':str(diction['rh_id']),
|
||||||
|
'valide': '1','locked': '0', 'partner_owner_recid': str(my_partner['recid']),
|
||||||
|
'_id':ObjectId(str(diction['contract_id']))}):
|
||||||
|
user = retval
|
||||||
|
user['id'] = str(val_tmp)
|
||||||
|
val_tmp = val_tmp + 1
|
||||||
|
RetObject.append(user)
|
||||||
|
|
||||||
|
if(len(RetObject) != 1 ):
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " Il y a "+str(val_tmp)+ " contrats valide pour cet identifiant ")
|
||||||
|
return False, " Il y a "+str(val_tmp)+ " contrats valide pour cet identifiant "
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Recuperer les données de l'employe
|
||||||
|
"""
|
||||||
|
rh_employee_data = MYSY_GV.dbname['ressource_humaine'].find_one(
|
||||||
|
{'_id': ObjectId(str(diction['rh_id'])),
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0',
|
||||||
|
'partner_recid': str(
|
||||||
|
my_partner['recid'])})
|
||||||
|
|
||||||
|
# Creation du dictionnaire d'information à utiliser pour la creation du doc
|
||||||
|
convention_dictionnary_data = {}
|
||||||
|
new_diction = {}
|
||||||
|
new_diction['token'] = diction['token']
|
||||||
|
new_diction['list_stagiaire_id'] = []
|
||||||
|
new_diction['list_session_id'] = []
|
||||||
|
new_diction['list_class_id'] = []
|
||||||
|
new_diction['list_client_id'] = []
|
||||||
|
new_diction['list_apprenant_id'] = []
|
||||||
|
|
||||||
|
local_status, local_retval = mycommon.Get_Dictionnary_data_For_Template(new_diction)
|
||||||
|
|
||||||
|
if (local_status is False):
|
||||||
|
return local_status, local_retval
|
||||||
|
|
||||||
|
convention_dictionnary_data = local_retval
|
||||||
|
convention_dictionnary_data['rh_employee_data'] = rh_employee_data
|
||||||
|
convention_dictionnary_data['rh_contract_data'] = RetObject[0]
|
||||||
|
|
||||||
|
body = {
|
||||||
|
"params": convention_dictionnary_data,
|
||||||
|
}
|
||||||
|
|
||||||
|
"""
|
||||||
|
Recuperer le modèle de document
|
||||||
|
"""
|
||||||
|
local_diction = {}
|
||||||
|
local_diction['ref_interne'] = "EMPLOYEE_CONTRACT"
|
||||||
|
local_diction['type_doc'] = "pdf"
|
||||||
|
local_diction['partner_owner_recid'] = str(my_partner['recid'])
|
||||||
|
|
||||||
|
courrier_data_status, courrier_data_retval = mycommon.Get_Courrier_Template_Include_Default_Data(local_diction)
|
||||||
|
if (courrier_data_status is False):
|
||||||
|
return courrier_data_status, courrier_data_retval
|
||||||
|
|
||||||
|
if ("contenu_doc" not in courrier_data_retval.keys() or str(courrier_data_retval['contenu_doc']) == ""):
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][
|
||||||
|
3]) + " Le modèle de courrier 'EMPLOYEE_CONTRACT' n'est pas correctement configuré ")
|
||||||
|
return False, " Le modèle de courrier 'EMPLOYEE_CONTRACT' n'est pas correctement configuré "
|
||||||
|
|
||||||
|
"""
|
||||||
|
Creation du fichier PDF
|
||||||
|
"""
|
||||||
|
contenu_doc_Template = jinja2.Template(str(courrier_data_retval['contenu_doc']))
|
||||||
|
|
||||||
|
sourceHtml = contenu_doc_Template.render(params=body["params"])
|
||||||
|
|
||||||
|
todays_date = str(date.today().strftime("%d/%m/%Y"))
|
||||||
|
ts = datetime.now().timestamp()
|
||||||
|
ts = str(ts).replace(".", "").replace(",", "")[-3:]
|
||||||
|
|
||||||
|
tmp_file_name = str(rh_employee_data['nom']) + "_" + str(rh_employee_data['prenom'])
|
||||||
|
|
||||||
|
if (len(str(tmp_file_name)) > 30):
|
||||||
|
tmp_file_name = str(tmp_file_name)[0:30]
|
||||||
|
|
||||||
|
orig_file_name = "Contrat_" + str(tmp_file_name) + "_" + str(ts) + ".pdf"
|
||||||
|
outputFilename = str(MYSY_GV.TEMPORARY_DIRECTORY) + "/" + str(orig_file_name)
|
||||||
|
|
||||||
|
# open output file for writing (truncated binary)
|
||||||
|
resultFile = open(outputFilename, "w+b")
|
||||||
|
|
||||||
|
# convert HTML to PDF
|
||||||
|
pisaStatus = pisa.CreatePDF(
|
||||||
|
src=sourceHtml, # the HTML to convert
|
||||||
|
dest=resultFile) # file handle to receive result
|
||||||
|
|
||||||
|
# close output file
|
||||||
|
resultFile.close()
|
||||||
|
|
||||||
|
# print(" ### outputFilename = "+str(outputFilename))
|
||||||
|
if os.path.exists(outputFilename):
|
||||||
|
# print(" ### ok os.path.exists(outputFilename) "+str(outputFilename))
|
||||||
|
return True, send_file(outputFilename, as_attachment=True)
|
||||||
|
|
||||||
|
# return True on success and False on errors
|
||||||
|
print(pisaStatus.err, type(pisaStatus.err))
|
||||||
|
|
||||||
|
return True, " le fichier generé "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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 générer la version PDF du contrat "
|
||||||
|
|
|
@ -59,7 +59,7 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
"""
|
"""
|
||||||
field_list = ['token', 'apprenant_id', 'class_id', 'session_id', 'class_eu_id', 'responsable_id',
|
field_list = ['token', 'apprenant_id', 'class_id', 'session_id', 'class_eu_id', 'responsable_id',
|
||||||
'date_heure_debut', 'date_heure_fin', 'observation',
|
'date_heure_debut', 'date_heure_fin', 'observation',
|
||||||
'commentaire', 'employee_id']
|
'commentaire', 'employee_id', 'sujet']
|
||||||
|
|
||||||
incom_keys = diction.keys()
|
incom_keys = diction.keys()
|
||||||
for val in incom_keys:
|
for val in incom_keys:
|
||||||
|
@ -105,7 +105,7 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
|
|
||||||
# Verifier que la formation et l'ue de la formation existe et sont valides
|
# Verifier que la formation et l'ue de la formation existe et sont valides
|
||||||
|
|
||||||
if( "class_id" in diction.keys() and "class_eu_id" in diction.keys() ):
|
if( "class_id" in diction.keys() and "class_eu_id" in diction.keys() and diction['class_id'] and diction['class_eu_id']):
|
||||||
is_existe_class_and_class_ue = MYSY_GV.dbname['myclass'].count_documents({ '_id':ObjectId(str(diction['class_id'])),
|
is_existe_class_and_class_ue = MYSY_GV.dbname['myclass'].count_documents({ '_id':ObjectId(str(diction['class_id'])),
|
||||||
'list_unite_enseignement._id': str(diction['class_eu_id']),
|
'list_unite_enseignement._id': str(diction['class_eu_id']),
|
||||||
'partner_owner_recid':my_partner['recid'],
|
'partner_owner_recid':my_partner['recid'],
|
||||||
|
@ -118,7 +118,7 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
str(inspect.stack()[0][3]) + " La formation et l'UE ne sont pas cohérents ")
|
str(inspect.stack()[0][3]) + " La formation et l'UE ne sont pas cohérents ")
|
||||||
return False, " La formation et l'UE ne sont pas cohérents "
|
return False, " La formation et l'UE ne sont pas cohérents "
|
||||||
|
|
||||||
elif ("class_id" in diction.keys() ):
|
elif ("class_id" in diction.keys() and diction['class_id'] ):
|
||||||
is_existe_class_and_class_ue = MYSY_GV.dbname['myclass'].count_documents(
|
is_existe_class_and_class_ue = MYSY_GV.dbname['myclass'].count_documents(
|
||||||
{'_id': ObjectId(str(diction['class_id'])),
|
{'_id': ObjectId(str(diction['class_id'])),
|
||||||
'partner_owner_recid': my_partner['recid'],
|
'partner_owner_recid': my_partner['recid'],
|
||||||
|
@ -130,10 +130,12 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
str(inspect.stack()[0][3]) + " La formation est invalide ")
|
str(inspect.stack()[0][3]) + " La formation est invalide ")
|
||||||
return False, " La formation est invalide "
|
return False, " La formation est invalide "
|
||||||
|
|
||||||
local_eu_data = MYSY_GV.dbname['unite_enseignement'].find_one({'_id': ObjectId(str(diction['class_eu_id'])),
|
local_eu_data = None
|
||||||
'partner_owner_recid': my_partner['recid'],
|
if( "class_eu_id" in diction.keys() and diction['class_eu_id']):
|
||||||
'valide': '1',
|
local_eu_data = MYSY_GV.dbname['unite_enseignement'].find_one({'_id': ObjectId(str(diction['class_eu_id'])),
|
||||||
'locked': '0'})
|
'partner_owner_recid': my_partner['recid'],
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0'})
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Verifier que le l'apprenant est valide
|
Verifier que le l'apprenant est valide
|
||||||
|
@ -171,8 +173,8 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
str(inspect.stack()[0][3]) + " L'identifiant de l'employé est invalide ")
|
str(inspect.stack()[0][3]) + " L'identifiant de l'employé est invalide ")
|
||||||
return False, " L'identifiant de l'employé est invalide "
|
return False, " L'identifiant de l'employé est invalide "
|
||||||
|
|
||||||
cible_evaluation_data = MYSY_GV.dbname['apprenant'].find_one(
|
cible_evaluation_data = MYSY_GV.dbname['ressource_humaine'].find_one(
|
||||||
{'_id': ObjectId(str(diction['apprenant_id'])),
|
{'_id': ObjectId(str(diction['employee_id'])),
|
||||||
'partner_recid': my_partner['recid'],
|
'partner_recid': my_partner['recid'],
|
||||||
'valide': '1',
|
'valide': '1',
|
||||||
'locked': '0'})
|
'locked': '0'})
|
||||||
|
@ -253,6 +255,11 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
|
|
||||||
new_data = diction
|
new_data = diction
|
||||||
my_token = str(diction['token'])
|
my_token = str(diction['token'])
|
||||||
|
my_sujet = ""
|
||||||
|
|
||||||
|
if( "sujet" in diction.keys() ):
|
||||||
|
my_sujet = diction['sujet']
|
||||||
|
|
||||||
del diction['token']
|
del diction['token']
|
||||||
|
|
||||||
# Initialisation des champs non envoyés à vide
|
# Initialisation des champs non envoyés à vide
|
||||||
|
@ -267,6 +274,8 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
new_data['update_by'] = str(my_partner['_id'])
|
new_data['update_by'] = str(my_partner['_id'])
|
||||||
new_data['partner_owner_recid'] = str(my_partner['recid'])
|
new_data['partner_owner_recid'] = str(my_partner['recid'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inserted_id = MYSY_GV.dbname['suivi_pedagogique'].insert_one(new_data).inserted_id
|
inserted_id = MYSY_GV.dbname['suivi_pedagogique'].insert_one(new_data).inserted_id
|
||||||
if (not inserted_id):
|
if (not inserted_id):
|
||||||
mycommon.myprint(
|
mycommon.myprint(
|
||||||
|
@ -284,7 +293,7 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "apprenant"
|
new_event['related_collection'] = "apprenant"
|
||||||
new_event['related_role'] = "target"
|
new_event['related_role'] = "target"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
||||||
new_event['related_collection_recid'] = str(diction['apprenant_id'])
|
new_event['related_collection_recid'] = str(diction['apprenant_id'])
|
||||||
|
@ -292,7 +301,9 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
|
|
||||||
comment = " Responsable : "+str(is_valide_responsable_data['civilite']) +" "+str(is_valide_responsable_data['prenom'])+" "+str(is_valide_responsable_data['nom'])+" "
|
comment = " Responsable : "+str(is_valide_responsable_data['civilite']) +" "+str(is_valide_responsable_data['prenom'])+" "+str(is_valide_responsable_data['nom'])+" "
|
||||||
comment = comment+ "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str( cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
comment = comment+ "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str( cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment +"\n Unite Enseignement : " + str(local_eu_data['titre'])
|
|
||||||
|
if( local_eu_data and "titre" in local_eu_data.keys() ):
|
||||||
|
comment = comment +"\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = ""
|
new_event['_id'] = ""
|
||||||
|
@ -313,19 +324,21 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "ressource_humaine"
|
new_event['related_collection'] = "ressource_humaine"
|
||||||
new_event['related_role'] = "target"
|
new_event['related_role'] = "target"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['related_collection_recid'] = str(diction['apprenant_id'])
|
new_event['related_collection_recid'] = str(diction['employee_id'])
|
||||||
new_event['event_type'] = "autre"
|
new_event['event_type'] = "autre"
|
||||||
|
|
||||||
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
||||||
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
||||||
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
||||||
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
|
||||||
|
if (local_eu_data and "titre" in local_eu_data.keys()):
|
||||||
|
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = ""
|
new_event['_id'] = ""
|
||||||
|
@ -333,6 +346,8 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
new_event['linked_collection'] = "suivi_pedagogique"
|
new_event['linked_collection'] = "suivi_pedagogique"
|
||||||
new_event['linked_collection_recid'] = str(inserted_id)
|
new_event['linked_collection_recid'] = str(inserted_id)
|
||||||
|
|
||||||
|
print(" ### employee_id agenda = ", new_event)
|
||||||
|
|
||||||
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
||||||
|
|
||||||
if (add_agenda_status is False):
|
if (add_agenda_status is False):
|
||||||
|
@ -343,7 +358,7 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "ressource_humaine"
|
new_event['related_collection'] = "ressource_humaine"
|
||||||
new_event['related_role'] = "responsable"
|
new_event['related_role'] = "responsable"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime("%Y-%m-%dT%H:%M")
|
||||||
new_event['related_collection_recid'] = str(diction['responsable_id'])
|
new_event['related_collection_recid'] = str(diction['responsable_id'])
|
||||||
|
@ -352,15 +367,19 @@ def Add_Suivi_Pedagogique(diction):
|
||||||
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
||||||
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
||||||
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str( cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str( cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
if( local_eu_data and "titre" in local_eu_data.keys() ):
|
||||||
|
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = ""
|
new_event['_id'] = ""
|
||||||
new_event['linked_collection'] = "suivi_pedagogique"
|
new_event['linked_collection'] = "suivi_pedagogique"
|
||||||
new_event['linked_collection_recid'] = str(inserted_id)
|
new_event['linked_collection_recid'] = str(inserted_id)
|
||||||
|
|
||||||
|
print(" ### responsible agenda = ", new_event)
|
||||||
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (add_agenda_status is False):
|
if (add_agenda_status is False):
|
||||||
mycommon.myprint(
|
mycommon.myprint(
|
||||||
" WARNING : Impossible d'ajouter la suivi pédagogique dans l'agenda du responsable ")
|
" WARNING : Impossible d'ajouter la suivi pédagogique dans l'agenda du responsable ")
|
||||||
|
@ -386,7 +405,7 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
"""
|
"""
|
||||||
field_list = ['token', 'apprenant_id', 'class_id', 'session_id', 'class_eu_id', 'responsable_id',
|
field_list = ['token', 'apprenant_id', 'class_id', 'session_id', 'class_eu_id', 'responsable_id',
|
||||||
'date_heure_debut', 'date_heure_fin', 'observation',
|
'date_heure_debut', 'date_heure_fin', 'observation',
|
||||||
'commentaire', '_id', 'employee_id']
|
'commentaire', '_id', 'employee_id', 'sujet']
|
||||||
|
|
||||||
incom_keys = diction.keys()
|
incom_keys = diction.keys()
|
||||||
for val in incom_keys:
|
for val in incom_keys:
|
||||||
|
@ -470,10 +489,12 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
str(inspect.stack()[0][3]) + " La formation est invalide ")
|
str(inspect.stack()[0][3]) + " La formation est invalide ")
|
||||||
return False, " La formation est invalide "
|
return False, " La formation est invalide "
|
||||||
|
|
||||||
local_eu_data = MYSY_GV.dbname['unite_enseignement'].find_one({'_id': ObjectId(str(diction['class_eu_id'])),
|
local_eu_data = None
|
||||||
'partner_owner_recid': my_partner['recid'],
|
if( "class_eu_id" in diction.keys() and diction['class_eu_id']):
|
||||||
'valide': '1',
|
local_eu_data = MYSY_GV.dbname['unite_enseignement'].find_one({'_id': ObjectId(str(diction['class_eu_id'])),
|
||||||
'locked': '0'})
|
'partner_owner_recid': my_partner['recid'],
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0'})
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Verifier que le l'apprenant est valide
|
Verifier que le l'apprenant est valide
|
||||||
|
@ -498,6 +519,7 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
'partner_owner_recid': my_partner['recid'],
|
'partner_owner_recid': my_partner['recid'],
|
||||||
'valide': '1',
|
'valide': '1',
|
||||||
'locked': '0'})
|
'locked': '0'})
|
||||||
|
|
||||||
elif (diction["employee_id"]):
|
elif (diction["employee_id"]):
|
||||||
is_valide_employee_id = MYSY_GV.dbname['ressource_humaine'].count_documents(
|
is_valide_employee_id = MYSY_GV.dbname['ressource_humaine'].count_documents(
|
||||||
{'_id': ObjectId(str(diction['employee_id'])),
|
{'_id': ObjectId(str(diction['employee_id'])),
|
||||||
|
@ -510,8 +532,8 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
str(inspect.stack()[0][3]) + " L'identifiant de l'employé est invalide ")
|
str(inspect.stack()[0][3]) + " L'identifiant de l'employé est invalide ")
|
||||||
return False, " L'identifiant de l'employé est invalide "
|
return False, " L'identifiant de l'employé est invalide "
|
||||||
|
|
||||||
cible_evaluation_data = MYSY_GV.dbname['apprenant'].find_one(
|
cible_evaluation_data = MYSY_GV.dbname['ressource_humaine'].find_one(
|
||||||
{'_id': ObjectId(str(diction['apprenant_id'])),
|
{'_id': ObjectId(str(diction['employee_id'])),
|
||||||
'partner_recid': my_partner['recid'],
|
'partner_recid': my_partner['recid'],
|
||||||
'valide': '1',
|
'valide': '1',
|
||||||
'locked': '0'})
|
'locked': '0'})
|
||||||
|
@ -593,6 +615,11 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
local_suivi_peda_id = diction['_id']
|
local_suivi_peda_id = diction['_id']
|
||||||
my_token = diction['token']
|
my_token = diction['token']
|
||||||
|
|
||||||
|
my_sujet = ""
|
||||||
|
if( "sujet" in diction.keys() ):
|
||||||
|
my_sujet = diction['sujet']
|
||||||
|
|
||||||
|
|
||||||
new_data = diction
|
new_data = diction
|
||||||
del diction['token']
|
del diction['token']
|
||||||
del diction['_id']
|
del diction['_id']
|
||||||
|
@ -646,7 +673,7 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "apprenant"
|
new_event['related_collection'] = "apprenant"
|
||||||
new_event['related_role'] = "target"
|
new_event['related_role'] = "target"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
|
@ -658,7 +685,9 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
||||||
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
||||||
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
|
||||||
|
if( local_eu_data and "titre" in local_eu_data.keys() ):
|
||||||
|
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = str(event_to_update['_id'])
|
new_event['_id'] = str(event_to_update['_id'])
|
||||||
|
@ -687,19 +716,21 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "ressource_humaine"
|
new_event['related_collection'] = "ressource_humaine"
|
||||||
new_event['related_role'] = "target"
|
new_event['related_role'] = "target"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['related_collection_recid'] = str(diction['apprenant_id'])
|
new_event['related_collection_recid'] = str(diction['employee_id'])
|
||||||
new_event['event_type'] = "autre"
|
new_event['event_type'] = "autre"
|
||||||
|
|
||||||
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
comment = " Responsable : " + str(is_valide_responsable_data['civilite']) + " " + str(
|
||||||
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
||||||
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
||||||
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
|
||||||
|
if (local_eu_data and "titre" in local_eu_data.keys()):
|
||||||
|
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = str(event_to_update['_id'])
|
new_event['_id'] = str(event_to_update['_id'])
|
||||||
|
@ -724,12 +755,22 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
'linked_collection': 'suivi_pedagogique',
|
'linked_collection': 'suivi_pedagogique',
|
||||||
'linked_collection_recid': str(local_suivi_peda_id)})
|
'linked_collection_recid': str(local_suivi_peda_id)})
|
||||||
|
|
||||||
|
print({
|
||||||
|
'partner_owner_recid': str(my_partner['recid']),
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0',
|
||||||
|
'related_role': 'responsable',
|
||||||
|
'related_collection': 'ressource_humaine',
|
||||||
|
'linked_collection': 'suivi_pedagogique',
|
||||||
|
'linked_collection_recid': str(local_suivi_peda_id)})
|
||||||
|
|
||||||
|
|
||||||
if (event_to_update):
|
if (event_to_update):
|
||||||
new_event = {}
|
new_event = {}
|
||||||
new_event['token'] = str(my_token)
|
new_event['token'] = str(my_token)
|
||||||
new_event['related_collection'] = "ressource_humaine"
|
new_event['related_collection'] = "ressource_humaine"
|
||||||
new_event['event_title'] = "Suivi Pédagogique"
|
new_event['related_role'] = "responsable"
|
||||||
|
new_event['event_title'] = "Suivi Pédagogique "+str(my_sujet)
|
||||||
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_start'] = datetime.strptime(str(date_heure_debut).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
"%Y-%m-%dT%H:%M")
|
"%Y-%m-%dT%H:%M")
|
||||||
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
new_event['event_end'] = datetime.strptime(str(date_heure_fin).strip(), '%d/%m/%Y %H:%M').strftime(
|
||||||
|
@ -741,13 +782,16 @@ def Update_Suivi_Pedagogique(diction):
|
||||||
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
is_valide_responsable_data['prenom']) + " " + str(is_valide_responsable_data['nom']) + " "
|
||||||
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
comment = comment + "\n Pour : " + str(cible_evaluation_data['civilite']) + " " + str(
|
||||||
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
cible_evaluation_data['prenom']) + " " + str(cible_evaluation_data['nom']) + " \n "
|
||||||
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
|
||||||
|
if( local_eu_data and "titre" in local_eu_data.keys() ):
|
||||||
|
comment = comment + "\n Unite Enseignement : " + str(local_eu_data['titre'])
|
||||||
|
|
||||||
new_event['comment'] = comment
|
new_event['comment'] = comment
|
||||||
new_event['_id'] = str(event_to_update['_id'])
|
new_event['_id'] = str(event_to_update['_id'])
|
||||||
new_event['linked_collection'] = "suivi_pedagogique"
|
new_event['linked_collection'] = "suivi_pedagogique"
|
||||||
new_event['linked_collection_recid'] = str(local_suivi_peda_id)
|
new_event['linked_collection_recid'] = str(local_suivi_peda_id)
|
||||||
|
|
||||||
|
print(" ### new_event update repon = ", new_event)
|
||||||
|
|
||||||
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
add_agenda_status, add_agenda_retval = agenda.Add_Update_Agenda_Event(new_event)
|
||||||
|
|
||||||
|
@ -891,6 +935,9 @@ def Get_List_Suivi_Pedagogique_No_Filter(diction):
|
||||||
user['ue_code'] = str(ue_code)
|
user['ue_code'] = str(ue_code)
|
||||||
user['ue_titre'] = str(ue_titre)
|
user['ue_titre'] = str(ue_titre)
|
||||||
|
|
||||||
|
if ("sujet" not in user.keys()):
|
||||||
|
user['sujet'] = ""
|
||||||
|
|
||||||
|
|
||||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||||
|
|
||||||
|
@ -904,6 +951,147 @@ def Get_List_Suivi_Pedagogique_No_Filter(diction):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Recuperation de la liste des suivis pédagoqiques d'un employee
|
||||||
|
"""
|
||||||
|
def Get_List_Employee_Suivi_Pedagogique_No_Filter(diction):
|
||||||
|
try:
|
||||||
|
diction = mycommon.strip_dictionary(diction)
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification des input acceptés
|
||||||
|
"""
|
||||||
|
field_list = ['token', 'employee_id']
|
||||||
|
|
||||||
|
incom_keys = diction.keys()
|
||||||
|
for val in incom_keys:
|
||||||
|
if val not in field_list and val.startswith('my_') is False:
|
||||||
|
mycommon.myprint(str(
|
||||||
|
inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas")
|
||||||
|
return False, " Les informations fournies sont incorrectes",
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification des champs obligatoires
|
||||||
|
"""
|
||||||
|
field_list_obligatoire = ['token', 'employee_id']
|
||||||
|
for val in field_list_obligatoire:
|
||||||
|
if val not in diction:
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans liste ")
|
||||||
|
return False, " Les informations fournies sont incorrectes",
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verification de l'identité et autorisation de l'entité qui
|
||||||
|
appelle cette API
|
||||||
|
"""
|
||||||
|
token = ""
|
||||||
|
if ("token" in diction.keys()):
|
||||||
|
if diction['token']:
|
||||||
|
token = diction['token']
|
||||||
|
|
||||||
|
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
|
||||||
|
if (local_status is not True):
|
||||||
|
return local_status, my_partner
|
||||||
|
|
||||||
|
"""
|
||||||
|
Verifier que le l'apprenant est valide
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
is_valide_employee = MYSY_GV.dbname['ressource_humaine'].count_documents(
|
||||||
|
{'_id': ObjectId(str(diction['employee_id'])),
|
||||||
|
'partner_recid': my_partner['recid'],
|
||||||
|
'valide': '1',
|
||||||
|
'locked': '0'})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (is_valide_employee != 1):
|
||||||
|
mycommon.myprint(
|
||||||
|
str(inspect.stack()[0][3]) + " L'identifiant de l'employé est invalide ")
|
||||||
|
return False, " L'identifiant de l'employé est invalide "
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Clés de mise à jour
|
||||||
|
"""
|
||||||
|
data_cle = {}
|
||||||
|
data_cle['partner_owner_recid'] = str(my_partner['recid'])
|
||||||
|
data_cle['valide'] = "1"
|
||||||
|
data_cle['locked'] = "0"
|
||||||
|
data_cle['employee_id'] = str(diction['employee_id'])
|
||||||
|
|
||||||
|
|
||||||
|
RetObject = []
|
||||||
|
val_tmp = 0
|
||||||
|
|
||||||
|
for retval in MYSY_GV.dbname['suivi_pedagogique'].find(data_cle).sort([("_id", pymongo.DESCENDING), ]):
|
||||||
|
user = retval
|
||||||
|
user['id'] = str(val_tmp)
|
||||||
|
val_tmp = val_tmp + 1
|
||||||
|
|
||||||
|
# Recuperer l'internal url de la formation
|
||||||
|
class_title = ""
|
||||||
|
if ("class_id" in retval.keys() and retval['class_id']):
|
||||||
|
class_data = MYSY_GV.dbname['myclass'].find_one({'_id': ObjectId(str(retval['class_id'])),
|
||||||
|
'partner_owner_recid': str(my_partner['recid'])},
|
||||||
|
{'title': 1})
|
||||||
|
|
||||||
|
if (class_data and 'title' in class_data.keys()):
|
||||||
|
class_title = class_data['title']
|
||||||
|
|
||||||
|
user['class_title'] = str(class_title)
|
||||||
|
|
||||||
|
# Recuperer session_code
|
||||||
|
session_code = ""
|
||||||
|
if ("session_id" in retval.keys() and retval['session_id']):
|
||||||
|
session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(retval['session_id'])),
|
||||||
|
'partner_owner_recid': str(
|
||||||
|
my_partner['recid'])},
|
||||||
|
{'code_session': 1})
|
||||||
|
|
||||||
|
if (session_data and 'code_session' in session_data.keys()):
|
||||||
|
session_code = session_data['code_session']
|
||||||
|
user['session_code'] = str(session_code)
|
||||||
|
|
||||||
|
# Recuperer ue_code
|
||||||
|
ue_code = ""
|
||||||
|
ue_titre = ""
|
||||||
|
if ("class_eu_id" in retval.keys() and retval['class_eu_id']):
|
||||||
|
unite_enseignement_data = MYSY_GV.dbname['unite_enseignement'].find_one(
|
||||||
|
{'_id': ObjectId(str(retval['class_eu_id'])),
|
||||||
|
'partner_owner_recid': str(
|
||||||
|
my_partner['recid'])},
|
||||||
|
{'code': 1, 'titre': 1})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (unite_enseignement_data and 'code' in unite_enseignement_data.keys()):
|
||||||
|
ue_code = unite_enseignement_data['code']
|
||||||
|
|
||||||
|
if (unite_enseignement_data and 'titre' in unite_enseignement_data.keys()):
|
||||||
|
ue_titre = unite_enseignement_data['titre']
|
||||||
|
|
||||||
|
user['ue_code'] = str(ue_code)
|
||||||
|
user['ue_titre'] = str(ue_titre)
|
||||||
|
|
||||||
|
if("sujet" not in user.keys() ):
|
||||||
|
user['sujet'] = ""
|
||||||
|
|
||||||
|
|
||||||
|
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||||
|
|
||||||
|
return True, RetObject
|
||||||
|
|
||||||
|
|
||||||
|
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 récupérer la liste des suivis pédagogique "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Recuperer les données d'un Suivi Pedagogique
|
Recuperer les données d'un Suivi Pedagogique
|
||||||
"""
|
"""
|
||||||
|
@ -1009,6 +1197,9 @@ def Get_Given_Suivi_Pedagogique(diction):
|
||||||
user['ue_code'] = str(ue_code)
|
user['ue_code'] = str(ue_code)
|
||||||
user['ue_titre'] = str(ue_titre)
|
user['ue_titre'] = str(ue_titre)
|
||||||
|
|
||||||
|
if ("sujet" not in user.keys()):
|
||||||
|
user['sujet'] = ""
|
||||||
|
|
||||||
|
|
||||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||||
|
|
||||||
|
|
|
@ -2714,8 +2714,6 @@ def Export_To_Excel_Survey_with_filter_Tab_Survey_Id(diction):
|
||||||
"""
|
"""
|
||||||
Creation du fichier PDF
|
Creation du fichier PDF
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
contenu_doc_Template = jinja2.Template(str(courrier_data_retval['contenu_doc']))
|
contenu_doc_Template = jinja2.Template(str(courrier_data_retval['contenu_doc']))
|
||||||
|
|
||||||
sourceHtml = contenu_doc_Template.render(params=body["params"])
|
sourceHtml = contenu_doc_Template.render(params=body["params"])
|
||||||
|
|
Loading…
Reference in New Issue