20/05/2026 - 12h30

Signed-off-by: Cherif <cbalde@mysy-training.com>
master_Elyos_FI
Cherif 2026-05-20 12:19:42 +02:00
parent 7ec5259193
commit c88ab333c5
6 changed files with 2958 additions and 25 deletions

View File

@ -4,20 +4,13 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="16/05/2026 - 13h30">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="19/05/2026 - 20h30">
<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$/Diplome_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Diplome_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/GlobalVariable.py" beforeDir="false" afterPath="$PROJECT_DIR$/GlobalVariable.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation_Sequence.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation_Sequence.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bloc_competence.py" beforeDir="false" afterPath="$PROJECT_DIR$/bloc_competence.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/domaine_competence_pedagogique.py" beforeDir="false" afterPath="$PROJECT_DIR$/domaine_competence_pedagogique.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$/notes_apprenant_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/notes_apprenant_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_invoice.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_invoice.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/unite_enseignement_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/unite_enseignement_mgt.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -461,7 +454,7 @@
<option name="project" value="LOCAL" />
<updated>1747251650255</updated>
</task>
<option name="localTasksCounter" value="583" />
<option name="localTasksCounter" value="584" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -503,7 +496,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="07/04/2026 - 14h" />
<MESSAGE value="10/04/2026 - 18h" />
<MESSAGE value="17/04/2026 -19h" />
<MESSAGE value="18/04/2026 -19h" />
@ -528,6 +520,7 @@
<MESSAGE value="13/05/26 - 17h" />
<MESSAGE value="15/05/2026 - 17h30" />
<MESSAGE value="16/05/2026 - 13h30" />
<option name="LAST_COMMIT_MESSAGE" value="16/05/2026 - 13h30" />
<MESSAGE value="19/05/2026 - 20h30" />
<option name="LAST_COMMIT_MESSAGE" value="19/05/2026 - 20h30" />
</component>
</project>

View File

@ -227,7 +227,8 @@ def Update_Diplome(diction):
Suppression d'un mode de Diplome
regles :
Si la condition (_id) n'est pas utiliser dans les collection
- xxxxxx
- note_evaluation
"""
def Delete_Diplome(diction):
@ -283,6 +284,17 @@ def Delete_Diplome(diction):
return False, "L'identifiant du diplome est invalide "
"""
Verifier que ce diplome n'a pas d'evaluations associée
"""
is_diplome_in_evaluation = MYSY_GV.dbname['note_evaluation'].count_documents({'tab_diplome_ids':str(diction['_id']),
'partner_owner_recid': str(my_partner['recid'])})
if( is_diplome_in_evaluation > 0 ):
mycommon.myprint(
str(inspect.stack()[0][3]) + " Ce diplôme est déjà utilisé dans "+str(is_diplome_in_evaluation)+" évaluation(s) ")
return False, " Ce diplôme est déjà utilisé dans "+str(is_diplome_in_evaluation)+" évaluation(s) "
delete = MYSY_GV.dbname['diplome'].delete_one({'_id': ObjectId(str(diction['_id'])),

View File

@ -774,7 +774,8 @@ PARTNER_BASE_CONFIG_NAME = ['tva', 'smtp_server', 'smtp_user', 'smtp_user_pwd',
'recyclage_warning', 'recyclage_warning_lead_time',
'preinscription_notification_email', 'inscription_notification_email','nb_heure_par_jour',
'nb_heure_par_mois', 'nb_heure_par_annee', 'nb_heure_par_semaine',
'annulation_inscription_notification_email', 'partner_devise']
'annulation_inscription_notification_email', 'partner_devise',
'sequence_code_couleur']
"""

File diff suppressed because it is too large Load Diff

View File

@ -52,7 +52,7 @@ def Add_domaine_competence_pedagogique(diction):
"""
Verification des input acceptés
"""
field_list = ['token', 'description', 'commentaire', 'code',
field_list = ['token', 'description', 'commentaire', 'code', 'couleur'
]
incom_keys = diction.keys()
@ -120,6 +120,8 @@ def Add_domaine_competence_pedagogique(diction):
mydata['locked'] = "0"
mydata['tab_competence_pedagogique'] = []
if ("couleur" not in mydata.keys()):
mydata['couleur'] = "#3573CB"
inserted_id = MYSY_GV.dbname['domaine_competence_pedagogique'].insert_one(mydata).inserted_id
@ -146,7 +148,7 @@ def Update_domaine_competence_pedagogique(diction):
"""
Verification des input acceptés
"""
field_list = ['token', 'description', 'domaine_competence_pedagogique_id', 'commentaire', 'code',
field_list = ['token', 'description', 'domaine_competence_pedagogique_id', 'commentaire', 'code', 'couleur'
]
@ -221,6 +223,9 @@ def Update_domaine_competence_pedagogique(diction):
mydata['update_date'] = str(datetime.now())
mydata['update_by'] = str(my_partner['_id'])
if( "couleur" not in mydata.keys() ):
mydata['couleur'] = "#3573CB"
result = MYSY_GV.dbname['domaine_competence_pedagogique'].find_one_and_update(
{'_id':ObjectId(str(diction['domaine_competence_pedagogique_id'])),
'partner_owner_recid':str(my_partner['recid'])},
@ -300,6 +305,8 @@ def Get_domaine_competence_pedagogique_no_filter(diction):
if( "code" not in user.keys() ):
user["code"] = "--"
if ("couleur" not in user.keys()):
user['couleur'] = "#3573CB"
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
@ -381,10 +388,11 @@ def Get_Given_domaine_competence_pedagogique(diction):
tab_competence_pedagogique_with_code.append(competence_pedago_data)
print("tab_competence_pedagogique_with_code = ", tab_competence_pedagogique_with_code)
user['tab_competence_pedagogique_with_code'] = tab_competence_pedagogique_with_code
if ("couleur" not in user.keys()):
user['couleur'] = "#3573CB"
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1

View File

@ -932,7 +932,8 @@ def Get_List_Evaluation_Planification_With_Filter(diction):
"""
Verification des input acceptés
"""
field_list = ['token','class_external_code', 'code_session', 'code_ue', 'rattrapage']
field_list = ['token','class_external_code', 'code_session', 'code_ue', 'rattrapage',
'tab_diplome_id']
incom_keys = diction.keys()
for val in incom_keys:
@ -1045,17 +1046,30 @@ def Get_List_Evaluation_Planification_With_Filter(diction):
elif ("rattrapage" in diction.keys() and diction['rattrapage'] == "0"):
filt_rattrapage = {"rattrapage": {"$ne":"1"}}
filt_diplome_id = {}
if( "tab_diplome_id" in diction.keys() and diction['tab_diplome_id']):
tab_diplome_work = str(diction['tab_diplome_id']).split(",")
tab_diplome_id = []
for tmp in tab_diplome_work:
if( tmp ):
tab_diplome_id.append(str(tmp))
if( len(tab_diplome_id) > 0 ):
filt_diplome_id = {'tab_diplome_ids':{'$in':tab_diplome_id}}
"""
Clés de mise à jour
"""
Clés de mise à jour
"""
data_cle = {}
data_cle['partner_owner_recid'] = str(my_partner['recid'])
data_cle['valide'] = "1"
data_cle['locked'] = "0"
query = {"$and": [filt_session_id, filt_class_id, filt_ue_id, data_cle, filt_rattrapage]}
query = {"$and": [filt_session_id, filt_class_id, filt_ue_id, data_cle, filt_rattrapage, filt_diplome_id]}
print(" ## QRY = ", query)
RetObject = []
val_tmp = 0
@ -1074,6 +1088,9 @@ def Get_List_Evaluation_Planification_With_Filter(diction):
if ("rattrapage" not in user.keys()):
user['rattrapage'] = "0"
if ("tab_diplome_ids" not in user.keys()):
user['tab_diplome_ids'] = []
RetObject.append(mycommon.JSONEncoder().encode(user))
return True, RetObject
@ -1158,6 +1175,9 @@ def Get_Given_Evaluation_Planification(diction):
if ("rattrapage" not in retval.keys()):
user['rattrapage'] = ""
if ("tab_diplome_ids" not in user.keys()):
user['tab_diplome_ids'] = []
"""
Pour gerer la selection des diplomes
1 - recuperer la liste globale des diplome de l'UE