06/06/2025 - 20h

Signed-off-by: Cherif <cbalde@mysy-training.com>
master_Elyos_FI
Cherif 2025-06-06 20:44:10 +02:00
parent a08b82f98d
commit 6d1a877593
8 changed files with 1159 additions and 22 deletions

View File

@ -4,12 +4,15 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="05/06/2025 - 20h">
<change afterPath="$PROJECT_DIR$/ent_student_common.py" afterDir="false" />
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="05/06/2025 - 22h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/equipe_team_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/equipe_team_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation_Sequence.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation_Sequence.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ent_student_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/ent_student_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.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$/user_session.py" beforeDir="false" afterPath="$PROJECT_DIR$/user_session.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -451,7 +454,7 @@
<option name="project" value="LOCAL" />
<updated>1747251650255</updated>
</task>
<option name="localTasksCounter" value="468" />
<option name="localTasksCounter" value="469" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -493,7 +496,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="18/02/2025 - 21h" />
<MESSAGE value="27/02/2025 - 21h" />
<MESSAGE value="04/03/2025 - 21h" />
<MESSAGE value="05/03/2025 - 18h" />
@ -518,6 +520,7 @@
<MESSAGE value="02/06/2025 - 20h" />
<MESSAGE value="04/06/2025 - 21h" />
<MESSAGE value="05/06/2025 - 20h" />
<option name="LAST_COMMIT_MESSAGE" value="05/06/2025 - 20h" />
<MESSAGE value="05/06/2025 - 22h" />
<option name="LAST_COMMIT_MESSAGE" value="05/06/2025 - 22h" />
</component>
</project>

View File

@ -15050,7 +15050,7 @@ def archive_session(diction):
# seules les formations avec locked = 0 et valide=1 sont modifiables
ret_val = coll_name.update_many(
{'_id': {'$in': tab_session_ids_ObjectId}, 'valide': '1', 'locked': '0',
{'_id': {'$in': tab_session_ids_ObjectId}, 'valide': '1',
'partner_owner_recid': str(my_partner['recid'])},
{"$set": mydata},
@ -15148,7 +15148,7 @@ def unarchive_session(diction):
# seules les formations avec locked = 0 et valide=1 sont modifiables
ret_val = coll_name.update_many(
{'_id': {'$in': tab_session_ids_ObjectId}, 'valide': '1', 'locked': '0',
{'_id': {'$in': tab_session_ids_ObjectId}, 'valide': '1',
'partner_owner_recid': str(my_partner['recid'])},
{"$set": mydata},

View File

@ -1652,6 +1652,9 @@ def Get_Session_Sequence_List(diction):
val_tmp = val_tmp + 1
nb_sequence = nb_sequence + 1
if ("type" not in user.keys()):
user['type'] = ""
if( "grp_apprenant_id" not in user.keys() ):
user['grp_apprenant_id'] = ""

View File

@ -6281,6 +6281,11 @@ def get_Class_From_Internal_Url(diction):
return False, " Impossible de récupérer les données de la formation "
"""
Pour facilité la communication pr l'ingestion du des formation scrappées,
Cette fonction va retouner la formation avec la clé qui est un url

File diff suppressed because it is too large Load Diff

105
main.py
View File

@ -12947,15 +12947,112 @@ def Get_Ent_Student_List_Class():
"""
API - Gestion ENT Apprenant : Recuperation uniquement les liste de class_id de l'apprenant
"""
@app.route('/myclass/api/Get_Apprenant_Tab_Class_Id/', methods=['POST','GET'])
@app.route('/myclass/api/Get_Apprenant_Tab_Class_Inscrip_Session_Id/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Apprenant_Tab_Class_Id():
def Get_Apprenant_Tab_Class_Inscrip_Session_Id():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Apprenant_Tab_Class_Id : payload = ",str(payload))
status, retval = ent_student_common.Get_Apprenant_Tab_Class_Id( payload)
print(" ### Get_Apprenant_Tab_Class_Inscrip_Session_Id : payload = ",str(payload))
status, retval = ent_student_common.Get_Apprenant_Tab_Class_Inscrip_Session_Id( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Recuperation du detail d'une formation
"""
@app.route('/myclass/api/get_Ent_Student_Given_Class_From_Class_Id/', methods=['POST','GET'])
@crossdomain(origin='*')
def get_Ent_Student_Given_Class_From_Class_Id():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### get_Ent_Student_Given_Class_From_Class_Id : payload = ",str(payload))
status, retval = ent_student_common.get_Ent_Student_Given_Class_From_Class_Id( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Recuperation des sequence de formation
"""
@app.route('/myclass/api/Get_Ent_Student_Session_Sequence_List/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_Session_Sequence_List():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_Session_Sequence_List : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_Session_Sequence_List( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Cette fonction retourne la liste des UE aux quelles un apprenant est inscrit
"""
@app.route('/myclass/api/Get_Ent_Student_Inscrit_List_EU/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_Inscrit_List_EU():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_Inscrit_List_EU : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_Inscrit_List_EU( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Cette fonction permet de recuperer la liste des types d'evaluation pour un inscrit
exemple : Pour l'UE xxxx, il est inscrit pour les 'PROJETS' seulement
"""
@app.route('/myclass/api/Get_Ent_Student_Inscrit_List_EU_Type_Evaluation/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_Inscrit_List_EU_Type_Evaluation():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_Inscrit_List_EU_Type_Evaluation : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_Inscrit_List_EU_Type_Evaluation( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Recuperation des notes d'un inscrit a une liste de session_id
"""
@app.route('/myclass/api/Get_Ent_Student_Participant_Notes/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_Participant_Notes():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_Participant_Notes : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_Participant_Notes( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Recuperer la liste des UE d'une formation donnée
"""
@app.route('/myclass/api/Get_Ent_Student_List_Unite_Enseignement_Of_Given_Class/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_List_Unite_Enseignement_Of_Given_Class():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_List_Unite_Enseignement_Of_Given_Class : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_List_Unite_Enseignement_Of_Given_Class( payload)
return jsonify(status=status, message=retval)
"""
API - Gestion ENT Apprenant : Recuperation de la liste des evaluations d'une formation
"""
@app.route('/myclass/api/Get_Ent_Student_List_Class_Evaluation/', methods=['POST','GET'])
@crossdomain(origin='*')
def Get_Ent_Student_List_Class_Evaluation():
# On recupere le corps (payload) de la requete
payload = mycommon.strip_dictionary (request.form.to_dict())
print(" ### Get_Ent_Student_List_Class_Evaluation : payload = ",str(payload))
status, retval = ent_student_common.Get_Ent_Student_List_Class_Evaluation( payload)
return jsonify(status=status, message=retval)
if __name__ == '__main__':

View File

@ -2226,9 +2226,9 @@ def Get_List_Participant_Notes(diction):
'valide':'1',
'locked':'0',
'partner_owner_recid':str(my_partner['recid'])})
if( "code" in ue_data.keys() ):
if( ue_data and "code" in ue_data.keys() ):
class_ue_code = str(ue_data['code'])
if ("titre" in ue_data.keys()):
if ( ue_data and "titre" in ue_data.keys()):
class_ue_titre = str(ue_data['titre'])
user['class_ue_code'] = class_ue_code

View File

@ -40,7 +40,7 @@ puis on enregiste dans table des token :
def login(diction):
try:
# Dictionnaire des champs utilisables
field_list = ['email', 'pwd']
field_list = ['email', 'pwd', 'type']
incom_keys = diction.keys()
'''
@ -77,6 +77,11 @@ def login(diction):
pwd = diction['pwd']
query['pwd'] = diction['pwd']
if ("type" in diction.keys()):
if diction['type']:
type = diction['type']
query['type'] = diction['type']
query['active'] = '1'
query['locked'] = '0'