diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 62f6438..1702a4e 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,12 +4,15 @@
-
+
+
-
-
+
+
+
+
@@ -29,6 +32,11 @@
+
@@ -43,16 +51,16 @@
- {
+ "keyToString": {
+ "Python.main.executor": "Run",
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "git-widget-placeholder": "master__Elyos__FI",
+ "last_opened_file_path": "C:/Users/Cherif/Documents/myclass.com/Siteweb/Elyos_Ftion_Initiale/Ela_back/Back_Office_FI",
+ "settings.editor.selected.configurable": "project.propVCSSupport.CommitDialog"
}
-}]]>
+}
@@ -445,7 +453,7 @@
1747251650255
-
+
@@ -487,7 +495,6 @@
-
@@ -512,6 +519,7 @@
-
+
+
\ No newline at end of file
diff --git a/Session_Formation.py b/Session_Formation.py
index f040762..4d12a02 100644
--- a/Session_Formation.py
+++ b/Session_Formation.py
@@ -94,7 +94,7 @@ def Add_Update_SessionFormation(diction):
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
data_for_check_connexion = {'token':my_token}
local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(data_for_check_connexion)
@@ -102,6 +102,50 @@ def Add_Update_SessionFormation(diction):
return local_status, my_partner
+ user_scope_class_id_ObjectId = []
+ if ("scope" in my_partner.keys() and "class_id" in my_partner['scope'].keys() and len(my_partner['scope']['class_id']) > 0):
+ for tmp in my_partner['scope']['class_id']:
+ user_scope_class_id_ObjectId.append(ObjectId(str(tmp)))
+
+
+ """
+ Verifier la validité de la formation
+ """
+ print(" session check QRY = ", {'internal_url':str(diction['class_internal_url']),
+ 'partner_owner_recid':str(my_partner['recid']),
+ 'valide':'1',
+ 'locked':'0',
+ '_id': {
+ '$in': user_scope_class_id_ObjectId}
+ })
+
+ is_class_valide = MYSY_GV.dbname['myclass'].count_documents({'internal_url':str(diction['class_internal_url']),
+ 'partner_owner_recid':str(my_partner['recid']),
+ 'valide':'1',
+ 'locked':'0',
+ '_id': {
+ '$in': user_scope_class_id_ObjectId}
+ }
+ )
+
+ if( is_class_valide != 1 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " L'identifiant de la formation est invalide ")
+ return False, "L'identifiant de la formation est invalide"
+
+ is_class_data = MYSY_GV.dbname['myclass'].find_one({'internal_url':str(diction['class_internal_url']),
+ 'partner_owner_recid':str(my_partner['recid']),
+ 'valide':'1',
+ 'locked':'0',
+ '_id': {
+ '$in': user_scope_class_id_ObjectId}
+ }, {'_id':1, 'internal_url':1}
+ )
+
+
+
+
session_id = ""
if ("session_id" in diction.keys()):
session_id = diction['session_id']
@@ -113,11 +157,14 @@ def Add_Update_SessionFormation(diction):
query_key['code_session'] = diction['code_session']
+
class_internal_url = ""
if ("class_internal_url" in diction.keys()):
mydata['class_internal_url'] = diction['class_internal_url']
- class_internal_url = diction['class_internal_url']
- query_key['class_internal_url'] = diction['class_internal_url']
+ mydata['class_id'] = str(is_class_data['_id'])
+
+ class_id = str(is_class_data['_id'])
+ query_key['class_id'] = str(is_class_data['_id'])
class_source = ""
if ("source" in diction.keys()):
@@ -343,15 +390,15 @@ def Add_Update_SessionFormation(diction):
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Formation : "+str(code_session)+" : Impossible de créer/mettre à jour la session de formation. La date de debut n'est pas au format jj/mm/aaaa ")
+ 3]) + " - Formation : "+str(code_session)+" : Impossible de créer/mettre à jour La promotion de formation. La date de debut n'est pas au format jj/mm/aaaa ")
- return False, " - Formation : "+str(code_session)+" : Impossible de créer/mettre à jour la session de formation. La date de debut n'est pas au format jj/mm/aaaa "
+ return False, " - Formation : "+str(code_session)+" : Impossible de créer/mettre à jour La promotion de formation. La date de debut n'est pas au format jj/mm/aaaa "
local_status = mycommon.CheckisDate(str(diction['date_fin'])[0:10])
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " -Formation : "+str(code_session)+" : Impossible de créer/mettre à jour la session de formation. La date de fin n'est pas au format jj/mm/aaaa ")
+ 3]) + " -Formation : "+str(code_session)+" : Impossible de créer/mettre à jour La promotion de formation. La date de fin n'est pas au format jj/mm/aaaa ")
return False, " -Formation : "+str(code_session)+" : La date de fin n'est pas au format jj/mm/aaaa "
@@ -375,7 +422,7 @@ def Add_Update_SessionFormation(diction):
mycommon.myprint(
str(inspect.stack()[0][
3]) + " - Formation : " + str(
- code_session) + " : Impossible de créer/mettre à jour la session de formation. La date_debut_inscription n'est pas au format jj/mm/aaaa ")
+ code_session) + " : Impossible de créer/mettre à jour La promotion de formation. La date_debut_inscription n'est pas au format jj/mm/aaaa ")
return False, " -Formation : " + str(
code_session) + " : La date de début d'inscription n'est pas au format jj/mm/aaaa "
@@ -429,10 +476,10 @@ def Add_Update_SessionFormation(diction):
if (datetime.strptime(str(diction['date_debut'])[0:10], '%d/%m/%Y') < datetime.strptime(str(mytoday).strip(), '%d/%m/%Y')) :
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation : La date de debut de sessions " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation : La date de debut de sessions " + str(
diction['date_debut']) +" est antérieure à la date du jour ")
- return False, " - Impossible de créer/mettre à jour la session de formation : La date de debut de sessions " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation : La date de debut de sessions " + str(
diction['date_debut']) +" est antérieure à la date du jour "
"""
@@ -457,12 +504,12 @@ def Add_Update_SessionFormation(diction):
# Etape 1 : recuperation du code session en base
local_retval1 = MYSY_GV.dbname['session_formation'].find_one({'_id':ObjectId(str(session_id))})
- if( local_retval1 is None or 'code_session' not in local_retval1.keys() or 'class_internal_url' not in local_retval1.keys() ):
+ if( local_retval1 is None or 'code_session' not in local_retval1.keys() or 'class_id' not in local_retval1.keys() ):
mycommon.myprint(str(inspect.stack()[0][3]) + " - Cette session n'as pas de code session ")
- return False, "Impossible de récupérer le code de la session (1) "
+ return False, "Impossible de récupérer le code de La promotion (1) "
existing_session_code = local_retval1['code_session']
- existing_class_internal_url = local_retval1['class_internal_url']
+ existing_class_id = local_retval1['class_id']
current_step = local_retval1['session_etape']
@@ -470,12 +517,12 @@ def Add_Update_SessionFormation(diction):
local_retval = MYSY_GV.dbname['inscription'].count_documents({'session_id':str(existing_session_code),
- 'class_internal_url':str(existing_class_internal_url)})
+ 'class_id':str(existing_class_id)})
if( local_retval > 0):
- mycommon.myprint(str(inspect.stack()[0][3]) + " - Cette session a déjà des inscriptions. Le code de la session ne peut etre modifié. Les autres champs ont été correctement mis à jour")
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - Cette session a déjà des inscriptions. Le code de La promotion ne peut etre modifié. Les autres champs ont été correctement mis à jour")
mydata['code_session'] = existing_session_code # On remet le actuellement en base de données
- Warning_Message = "Cette session a déjà des inscriptions. Le code de la session ne peut etre modifié. Les autres champs ont été correctement mis à jour"
+ Warning_Message = "Cette session a déjà des inscriptions. Le code de La promotion ne peut etre modifié. Les autres champs ont été correctement mis à jour"
#print(" ###laaa mydata = ", mydata)
@@ -489,9 +536,9 @@ def Add_Update_SessionFormation(diction):
if (ret_val is None or '_id' not in ret_val.keys()):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " Impossible d'ajouter/mettre à jour la session '" + str(
+ str(inspect.stack()[0][3]) + " Impossible d'ajouter/mettre à jour La promotion '" + str(
diction['code_session']) + "' ")
- return False, "Impossible d'ajouter/mettre à jour la session '" + str(diction['code_session']) + "' "
+ return False, "Impossible d'ajouter/mettre à jour La promotion '" + str(diction['code_session']) + "' "
new_step = ret_val['session_etape']
@@ -526,10 +573,10 @@ def Add_Update_SessionFormation(diction):
if(len(str(Warning_Message)) > 2 ):
return True, str(Warning_Message)
- return True, " La session de formation à bien été mise à jour"
+ return True, " La promotion de formation à bien été mise à jour"
if (len(str(session_id)) <= 0):
- # La session n'existe pas, on fait une simple creation
+ # La promotion n'existe pas, on fait une simple creation
mydata['date_created'] = str(datetime.now())
@@ -564,9 +611,9 @@ def Add_Update_SessionFormation(diction):
if (ret_val is None or not hasattr(ret_val, 'inserted_id') ):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " Impossible d'ajouter la session '" + str(
+ str(inspect.stack()[0][3]) + " Impossible d'ajouter La promotion '" + str(
diction['code_session']) + "' ")
- return False, "Impossible d'ajouter la session '" + str(diction['code_session']) + "' "
+ return False, "Impossible d'ajouter La promotion '" + str(diction['code_session']) + "' "
"""
# Ajout de l'evenement dans l'historique
@@ -588,13 +635,13 @@ def Add_Update_SessionFormation(diction):
" WARNING : Impossible de logguer l'historique pour l'évènement : " + str(history_event_dict))
- return True, " La session de formation à bien été créée"
+ return True, " La promotion à bien été créée"
except Exception as e:
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))
- return False, "Impossible de créer / mettre à jour la session de formation"
+ return False, "Impossible de créer / mettre à jour la promotion de formation"
@@ -649,15 +696,15 @@ def Update_SessionFormation_Only_Step(diction):
"""
- Verifier la valididé de la session de formation
+ Verifier la valididé de La promotion de formation
"""
is_valide_session = MYSY_GV.dbname['session_formation'].count_documents({'_id':ObjectId(str(diction['_id'])),
'valide':'1', 'partner_owner_recid':str(my_partner['recid'])})
if( is_valide_session != 1 ):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " - L'identifiant de la session de formation est invalide ")
- return False, "L'identifiant de la session de formation est invalide"
+ str(inspect.stack()[0][3]) + " - L'identifiant de La promotion de formation est invalide ")
+ return False, "L'identifiant de La promotion de formation est invalide"
is_valide_session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['_id'])),
@@ -698,9 +745,9 @@ def Update_SessionFormation_Only_Step(diction):
if (ret_val is None or '_id' not in ret_val.keys()):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " Impossible d'ajouter/mettre à jour la session '" + str(
+ str(inspect.stack()[0][3]) + " Impossible d'ajouter/mettre à jour La promotion '" + str(
diction['code_session']) + "' ")
- return False, "Impossible d'ajouter/mettre à jour la session '" + str(diction['code_session']) + "' "
+ return False, "Impossible d'ajouter/mettre à jour La promotion '" + str(diction['code_session']) + "' "
"""
@@ -723,14 +770,14 @@ def Update_SessionFormation_Only_Step(diction):
" WARNING : Impossible de logguer l'historique pour l'évènement : " + str(history_event_dict))
- return True, " La session de formation à bien été mise à jour"
+ return True, " La promotion de formation à bien é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) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
- return False, "Impossible mettre à jour la session de formation"
+ return False, "Impossible mettre à jour La promotion de formation"
"""
@@ -929,7 +976,7 @@ def GetSessionFormation(diction):
# Si le nombre de session trouvé est > 1 alors incohérence, retourner une message d'erreur
if( nb_val > 1 ):
mycommon.myprint(str(inspect.stack()[0][3]) + " - la query "+str(myquery)+" retourne "+str(nb_val)+" session. ceci n'est pas normal. il ne doit pas y avoir plus 1 session")
- return False, " Les informations de la session "+str(session_id)+" sont incohérentes. Merci de contacter le support"
+ return False, " Les informations de La promotion "+str(session_id)+" sont incohérentes. Merci de contacter le support"
return True, RetObject
@@ -939,7 +986,7 @@ def GetSessionFormation(diction):
except Exception as e:
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))
- return False, "Impossible de récupérer la session de formation"
+ return False, "Impossible de récupérer La promotion de formation"
"""
@@ -1115,7 +1162,7 @@ def Get_Given_SessionFormation_From_Id(diction):
# Si le nombre de session trouvé est > 1 alors incohérence, retourner une message d'erreur
if( nb_val > 1 ):
mycommon.myprint(str(inspect.stack()[0][3]) + " - la query "+str(myquery)+" retourne "+str(nb_val)+" session. ceci n'est pas normal. il ne doit pas y avoir plus 1 session")
- return False, " Les informations de la session "+str(session_id)+" sont incohérentes. Merci de contacter le support"
+ return False, " Les informations de La promotion "+str(session_id)+" sont incohérentes. Merci de contacter le support"
return True, RetObject
@@ -1124,7 +1171,7 @@ def Get_Given_SessionFormation_From_Id(diction):
except Exception as e:
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))
- return False, "Impossible de récupérer la session de formation"
+ return False, "Impossible de récupérer La promotion de formation"
"""
@@ -1254,13 +1301,22 @@ def Get_Partner_Session_Ftion_Reduice_Fields(diction):
if (local_status is not True):
return local_status, my_partner
+ """
+ Filtre uniquement pour la Formation continue
+ """
+ filt_scope_class_id = {}
+ if ("scope" in my_partner.keys() and "class_id" in my_partner['scope'].keys() and len(
+ my_partner['scope']['class_id']) > 0):
+ filt_scope_class_id['class_id'] = {'$in': my_partner['scope']['class_id']}
+
+
RetObject = []
RetObject = []
val_tmp = 0
- for retval in MYSY_GV.dbname['session_formation'].find({'partner_owner_recid':str(my_partner['recid']),
- 'valide':'1'},
+ for retval in MYSY_GV.dbname['session_formation'].find({ "$and" : [ {'partner_owner_recid':str(my_partner['recid']),
+ 'valide':'1',},filt_scope_class_id]},
{'_id':1, 'code_session':1, 'titre':1,
'class_internal_url':1, 'date_debut':1,
'date_fin':1}):
@@ -2517,7 +2573,7 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
class_internal_url = ""
@@ -2603,8 +2659,8 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
if (formation_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " La session de formation n'existe pas : Impossible d'importer la liste des participants ")
- return False, "la session de formation n'existe pas. Impossible d'importer la liste des participants"
+ 3]) + " La promotion de formation n'existe pas : Impossible d'importer la liste des participants ")
+ return False, "La promotion de formation n'existe pas. Impossible d'importer la liste des participants"
x = range(0, total_rows)
ignored_line = ""
@@ -2660,20 +2716,20 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
if(local_status is False ):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne "+str(n+2)+"."
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne "+str(n+2)+"."
"La date debut n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne "+str(n+2)+". La date debut n'est pas au format jj/mm/aaaa "
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne "+str(n+2)+". La date debut n'est pas au format jj/mm/aaaa "
mydata['date_fin'] = str(df['date_fin'].values[n]).strip().split(" ")[0]
local_status = mycommon.CheckisDate(mydata['date_fin'])
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(n+2) + "."
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(n+2) + "."
"La date date_fin n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n+1) + ". La date fin n'est pas au format jj/mm/aaaa "
@@ -2682,10 +2738,10 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
str(mydata['date_fin']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut " + str(mydata['date_debut']) +
+ 3]) + " - Impossible de créer La promotion de formation : La date debut " + str(mydata['date_debut']) +
" est postérieure à la date de fin " + str(mydata['date_fin']) + " pour la ligne "+str(n+2)+" ")
- return False, " Impossible de créer la session de formation : La date debut " + str(mydata['date_debut'])[0:10] +\
+ return False, " Impossible de créer La promotion de formation : La date debut " + str(mydata['date_debut'])[0:10] +\
" est postérieure à la date de fin " + str(mydata['date_fin'])[0:10] + " pour la ligne "+str(n+2)+" "
@@ -2887,10 +2943,10 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(n+2) + "."
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(n+2) + "."
"La date_debut_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n+2) + ". La date_debut_inscription n'est pas au format jj/mm/aaaa "
@@ -2900,10 +2956,10 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(n+2) + "."
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(n+2) + "."
"La date_fin_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n+1) + ". La date_fin_inscription n'est pas au format jj/mm/aaaa "
## Verification de la cohérence des dates. date_debut_inscription doit <= date_fin_inscription
@@ -2912,11 +2968,11 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
str(mydata['date_fin_inscription']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut des inscriptions " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut des inscriptions " + str(
mydata['date_debut_inscription']) +
" est postérieure à la date de fin des inscriptions " + str(mydata['date_fin_inscription']) + " pour la ligne "+str(n+2)+" ")
- return False, " Impossible de créer la session de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne "+str(n+2)+" "
+ return False, " Impossible de créer La promotion de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne "+str(n+2)+" "
mydata['token'] = str(my_token)
mydata['class_internal_url'] = str(class_internal_url)
@@ -2930,7 +2986,7 @@ def Add_Update_SessionFormation_mass(file=None, Folder=None, diction=None):
diction_for_session_id['adresse'] = str(mydata['adresse'])
"""
- Verifier si la session existe deja en base, si c'est le cas récupérer le '_id'
+ Verifier si La promotion existe deja en base, si c'est le cas récupérer le '_id'
la clé pour verifier l'existance d'une session est :
- code_session
- class_internal_url
@@ -3011,7 +3067,7 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
class_internal_url = ""
if ("class_internal_url" in diction.keys()):
@@ -3078,8 +3134,8 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
if (formation_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " La session de formation n'existe pas : Impossible d'importer la liste des participants ")
- return False, "la session de formation n'existe pas. Impossible d'importer la liste des participants"
+ 3]) + " La promotion de formation n'existe pas : Impossible d'importer la liste des participants ")
+ return False, "La promotion de formation n'existe pas. Impossible d'importer la liste des participants"
x = range(0, total_rows)
ignored_line = ""
@@ -3139,11 +3195,11 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date debut n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date debut n'est pas au format jj/mm/aaaa "
mydata['date_fin'] = str(df['date_fin'].values[n]).strip().split(" ")[0]
@@ -3151,11 +3207,11 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date date_fin n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date fin n'est pas au format jj/mm/aaaa "
# Verifier que l'adresse email du formateur est valide
@@ -3221,12 +3277,12 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
str(mydata['date_fin']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut']) +
" est postérieure à la date de fin " + str(mydata['date_fin']) + " pour la ligne " + str(
n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date debut " + str(
+ return False, " Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut'])[0:10] + \
" est postérieure à la date de fin " + str(mydata['date_fin'])[0:10] + " pour la ligne " + str(
n + 2) + " "
@@ -3422,11 +3478,11 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_debut_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date_debut_inscription n'est pas au format jj/mm/aaaa "
mydata['date_fin_inscription'] = str(df['date_fin_inscription'].values[n]).strip().split(" ")[0]
@@ -3434,11 +3490,11 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_fin_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date_fin_inscription n'est pas au format jj/mm/aaaa "
## Verification de la cohérence des dates. Date_du doit <= Date_au
@@ -3446,12 +3502,12 @@ def Controle_Add_Update_SessionFormation_mass(saved_file=None, Folder=None, dict
str(mydata['date_fin_inscription']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut des inscriptions " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut des inscriptions " + str(
mydata['date_debut_inscription'])[0:10] +
" est postérieure à la date de fin des inscriptions " + str(
mydata['date_fin_inscription'])[0:10] + " pour la ligne " + str(n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
+ return False, " Impossible de créer La promotion de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
n + 2) + " "
mydata['token'] = str(my_token)
@@ -3524,13 +3580,13 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
partner_recid = mycommon.get_parnter_recid_from_token(my_token)
if (partner_recid is False):
@@ -3557,8 +3613,8 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
if(exclusive_session_id_count != "1" ):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ str(inspect.stack()[0][3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
exclusive_session_id_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(exclusive_session_id)),
@@ -3649,11 +3705,11 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date debut n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date debut n'est pas au format jj/mm/aaaa "
mydata['date_fin'] = str(df['date_fin'].values[n]).strip().split(" ")[0]
@@ -3661,11 +3717,11 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date date_fin n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date fin n'est pas au format jj/mm/aaaa "
# Verifier que l'adresse email du formateur est valide
@@ -3733,12 +3789,12 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
str(mydata['date_fin']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut']) +
" est postérieure à la date de fin " + str(mydata['date_fin']) + " pour la ligne " + str(
n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date debut " + str(
+ return False, " Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut'])[0:10] + \
" est postérieure à la date de fin " + str(mydata['date_fin'])[0:10] + " pour la ligne " + str(
n + 2) + " "
@@ -3968,11 +4024,11 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_debut_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date_debut_inscription n'est pas au format jj/mm/aaaa "
mydata['date_fin_inscription'] = str(df['date_fin_inscription'].values[n]).strip().split(" ")[0]
@@ -3981,11 +4037,11 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_fin_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date_fin_inscription n'est pas au format jj/mm/aaaa "
## Verification de la cohérence des dates. Date_du doit <= Date_au
@@ -3994,12 +4050,12 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
str(mydata['date_fin_inscription']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut des inscriptions " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut des inscriptions " + str(
mydata['date_debut_inscription']) +
" est postérieure à la date de fin des inscriptions " + str(
mydata['date_fin_inscription']) + " pour la ligne " + str(n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
+ return False, " Impossible de créer La promotion de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
n + 2) + " "
mydata['token'] = str(my_token)
@@ -4014,7 +4070,7 @@ def Add_Update_SessionFormation_mass_for_many_class(file=None, Folder=None, dict
diction_for_session_id['adresse'] = str(mydata['adresse'])
"""
- Verifier si la session existe deja en base, si c'est le cas récupérer le '_id'
+ Verifier si La promotion existe deja en base, si c'est le cas récupérer le '_id'
la clé pour verifier l'existance d'une session est :
- code_session
- class_internal_url
@@ -4095,7 +4151,7 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", my_token)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
partner_recid = mycommon.get_parnter_recid_from_token(my_token)
@@ -4205,11 +4261,11 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date debut n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date debut n'est pas au format jj/mm/aaaa "
mydata['date_fin'] = str(df['date_fin'].values[n]).strip().split(" ")[0]
@@ -4217,11 +4273,11 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date date_fin n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date fin n'est pas au format jj/mm/aaaa "
## Verification de la cohérence des dates. Date_du doit <= Date_au
@@ -4229,12 +4285,12 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
str(mydata['date_fin']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut']) +
" est postérieure à la date de fin " + str(mydata['date_fin']) + " pour la ligne " + str(
n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date debut " + str(
+ return False, " Impossible de créer La promotion de formation : La date debut " + str(
mydata['date_debut']) + \
" est postérieure à la date de fin " + str(mydata['date_fin'])[0:10] + " pour la ligne " + str(
n + 2) + " "
@@ -4488,11 +4544,11 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_debut_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + ". La date_debut_inscription n'est pas au format jj/mm/aaaa "
mydata['date_fin_inscription'] = str(df['date_fin_inscription'].values[n]).strip().split(" ")[0]
@@ -4501,11 +4557,11 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
if (local_status is False):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ 3]) + " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 2) + "."
"La date_fin_inscription n'est pas au format jj/mm/aaaa ")
- return False, " - Impossible de créer/mettre à jour la session de formation à ligne " + str(
+ return False, " - Impossible de créer/mettre à jour La promotion de formation à ligne " + str(
n + 1) + ". La date_fin_inscription n'est pas au format jj/mm/aaaa "
## Verification de la cohérence des dates. Date_du doit <= Date_au
@@ -4513,12 +4569,12 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
str(mydata['date_fin_inscription']).strip(), '%d/%m/%Y')):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " - Impossible de créer la session de formation : La date debut des inscriptions " + str(
+ 3]) + " - Impossible de créer La promotion de formation : La date debut des inscriptions " + str(
mydata['date_debut_inscription']) +
" est postérieure à la date de fin des inscriptions " + str(
mydata['date_fin_inscription']) + " pour la ligne " + str(n + 2) + " ")
- return False, " Impossible de créer la session de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
+ return False, " Impossible de créer La promotion de formation : La date de fin des inscriptions est antérieure à la date de début des inscriptions : Ligne " + str(
n + 2) + " "
mydata['token'] = str(my_token)
@@ -4544,7 +4600,7 @@ def Controle_Add_Update_SessionFormation_mass_for_many_class(saved_file=None, Fo
"""
Cette fonction supprime une session de formation.
/!\ : il faut s'assurer qu'il n'y a aucune inscription avant de supprimer valide.
-Et la session est supprimé, alors supprimer toutes inscriptions (annulée) associés
+Et La promotion est supprimé, alors supprimer toutes inscriptions (annulée) associés
Ensuite supprimer les affectations d'enseignants et de materiels associée
12/01/2024 :
@@ -4674,12 +4730,12 @@ def Delete_SessionFormation(diction):
session_id) + " a été correctement supprimée ")
- return True, "La session a été correctement supprimée"
+ return True, "La promotion a été correctement supprimée"
except Exception as e:
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))
- return False, "Impossible de supprimer la session de formation"
+ return False, "Impossible de supprimer La promotion de formation"
"""
@@ -4737,8 +4793,8 @@ def Delete_List_SessionFormation(diction):
inscription_count = MYSY_GV.dbname['inscription'].count_documents(inscription_count_qry)
if( inscription_count > 0 ):
session_formation_data = MYSY_GV.dbname['session_formation'].find_one({'_id':ObjectId(str(session_id)), 'partner_owner_recid':str(partner_recid)})
- mycommon.myprint(str(inspect.stack()[0][3]) + " Impossible de supprimer la session "+str(session_formation_data['code_session'])+". Vous avez "+str(inscription_count)+" inscriptions associées.Suppression en masse annulée ")
- return False, "Impossible de supprimer la session "+str(session_formation_data['code_session'])+". Vous avez "+str(inscription_count)+" inscriptions associées. Suppression en masse annulée"
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Impossible de supprimer La promotion "+str(session_formation_data['code_session'])+". Vous avez "+str(inscription_count)+" inscriptions associées.Suppression en masse annulée ")
+ return False, "Impossible de supprimer La promotion "+str(session_formation_data['code_session'])+". Vous avez "+str(inscription_count)+" inscriptions associées. Suppression en masse annulée"
"""
Verifier que l'inscription n'est pas utilisée dans un devis : 'partner_order_line'
@@ -4751,9 +4807,9 @@ def Delete_List_SessionFormation(diction):
session_formation_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(session_id)), 'partner_owner_recid': str(partner_recid)})
- mycommon.myprint(str(inspect.stack()[0][3]) + " Impossible de supprimer la session "+str(session_formation_data['code_session'])+". Vous avez " + str(
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Impossible de supprimer La promotion "+str(session_formation_data['code_session'])+". Vous avez " + str(
is_session_in_partner_order_line_count) + " devis ou commandes (s) associé(s) ")
- return False, "Impossible de supprimer la session "+str(session_formation_data['code_session'])+". Vous avez " + str(
+ return False, "Impossible de supprimer La promotion "+str(session_formation_data['code_session'])+". Vous avez " + str(
is_session_in_partner_order_line_count) + " devis ou commandes (s) associé(s) "
# Suppression des insciption eventuellement annulées
@@ -4784,7 +4840,7 @@ def Delete_List_SessionFormation(diction):
if( cpt > 1 ):
return True, "("+str(cpt)+") sessions ont été correctement supprimées"
else:
- return True, "La session a été correctement supprimée"
+ return True, "La promotion a été correctement supprimée"
except Exception as e:
@@ -4833,7 +4889,7 @@ def Is_Corresponding_SessionFormation(diction):
# Verifier la validité du token
retval = mycommon.check_partner_token_validity("", mytoken)
if retval is False:
- return "Err_Connexion", " La session de connexion n'est pas valide"
+ return "Err_Connexion", " La promotion de connexion n'est pas valide"
partner_recid = mycommon.get_parnter_recid_from_token(mytoken)
if (partner_recid is False):
@@ -4910,7 +4966,7 @@ def Is_Corresponding_SessionFormation(diction):
except Exception as e:
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))
- return False, "Impossible de verifier si la session correspond à une session existante"
+ return False, "Impossible de verifier si La promotion correspond à une session existante"
@@ -4995,8 +5051,8 @@ def Duplicate_List_Session_Formation(diction):
'session_step_name':str(session_etape)})
if( is_valide_etape != 1):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " L'étape de la session est invalide ")
- return False, " L'étape de la session est invalide "
+ str(inspect.stack()[0][3]) + " L'étape de La promotion est invalide ")
+ return False, " L'étape de La promotion est invalide "
# Verification des date et des cohérences de date
@@ -5046,8 +5102,8 @@ def Duplicate_List_Session_Formation(diction):
if( session_data is None):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " La session n'est pas valide ")
- return False, " La session n'est pas valide "
+ str(inspect.stack()[0][3]) + " La promotion n'est pas valide ")
+ return False, " La promotion n'est pas valide "
@@ -5087,12 +5143,12 @@ def Duplicate_List_Session_Formation(diction):
if(cpt > 1 ):
return True, "("+str(cpt)+" sessions ont été correctement dupliquées "
else:
- return True, "La session a été correctement dupliquée "
+ return True, "La promotion a été correctement dupliquée "
except Exception as e:
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))
- return False, "Impossible de dupliquer la session de formation"
+ return False, "Impossible de dupliquer La promotion de formation"
"""
@@ -5127,7 +5183,7 @@ def Prepare_and_Send_Convention_From_Session_By_Email(tab_files, Folder, diction
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -5136,11 +5192,11 @@ def Prepare_and_Send_Convention_From_Session_By_Email(tab_files, Folder, diction
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
'status': '1',
@@ -5310,7 +5366,7 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_Email(tab_f
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -5319,8 +5375,8 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_Email(tab_f
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
my_inscription_ids = ""
if ("tab_ids" in diction.keys()):
@@ -5333,7 +5389,7 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_Email(tab_f
for my_inscription_id in tab_my_inscription_ids:
tab_my_inscription_Object_ids.append(ObjectId(str(my_inscription_id)))
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
'status': '1',
@@ -5521,7 +5577,7 @@ def Prepare_and_Send_Default_Convention_From_Session_By_Email(tab_files, Folder,
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -5530,11 +5586,11 @@ def Prepare_and_Send_Default_Convention_From_Session_By_Email(tab_files, Folder,
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
'status': '1',
@@ -5838,7 +5894,7 @@ def Prepare_and_Send_Convention_From_Session_By_PDF(diction):
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -5847,13 +5903,13 @@ def Prepare_and_Send_Convention_From_Session_By_PDF(diction):
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
# Stokage des nom de fichier à zipper
list_file_name_to_zip = []
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
@@ -6013,7 +6069,7 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_PDF(diction
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -6022,8 +6078,8 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_PDF(diction
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
my_inscription_ids = ""
if ("tab_ids" in diction.keys()):
@@ -6039,7 +6095,7 @@ def Prepare_and_Send_Convention_From_Session_For_Selected_Inscrit_By_PDF(diction
# Stokage des nom de fichier à zipper
list_file_name_to_zip = []
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
@@ -6195,7 +6251,7 @@ def Prepare_and_Send_Default_Convention_From_Session_By_PDF(diction):
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -6204,10 +6260,10 @@ def Prepare_and_Send_Default_Convention_From_Session_By_PDF(diction):
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id': str(
diction['session_id']),
@@ -6530,15 +6586,15 @@ def Create_Convention_By_Client_PDF(diction):
tab_client.append(client_data['_id'])
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(diction['session_id'])), 'valide': '1', 'partner_owner_recid': str(my_partner['recid'])})
if (session_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
tab_session = []
tab_session.append(session_data['_id'])
@@ -6715,15 +6771,15 @@ def Create_Convention_By_Stagiaire_PDF(diction):
tab_apprenant.append(ObjectId(str(statgiaire_data['apprenant_id'])))
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(diction['session_id'])), 'valide': '1', 'partner_owner_recid': str(my_partner['recid'])})
if (session_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
tab_session = []
tab_session.append(session_data['_id'])
@@ -6831,7 +6887,7 @@ def Prepare_and_Send_Convocation_From_Session_By_PDF(diction):
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -6840,8 +6896,8 @@ def Prepare_and_Send_Convocation_From_Session_By_PDF(diction):
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
# Stokage des nom de fichier à zipper
list_file_name_to_zip = []
@@ -6945,7 +7001,7 @@ def Prepare_and_Send_Convocation_From_Session_For_Selected_Inscrit_By_PDF(dictio
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -6954,8 +7010,8 @@ def Prepare_and_Send_Convocation_From_Session_For_Selected_Inscrit_By_PDF(dictio
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
# Stokage des nom de fichier à zipper
list_file_name_to_zip = []
@@ -7126,15 +7182,15 @@ def Create_Convocation_By_Stagiaire_PDF(diction):
tab_apprenant.append(ObjectId(str(statgiaire_data['apprenant_id'])))
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(diction['session_id'])), 'valide': '1', 'partner_owner_recid': str(my_partner['recid'])})
if (session_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
tab_session = []
tab_session.append(session_data['_id'])
@@ -7229,7 +7285,7 @@ def Create_Convocation_By_Stagiaire_PDF(diction):
"""
Cette fonction prepare et envoi les conVocation a chaque
-participant à la session de formation
+participant à La promotion de formation
"""
def Prepare_and_Send_Convocation_From_Session_By_Email(tab_files, Folder, diction):
try:
@@ -7252,7 +7308,7 @@ def Prepare_and_Send_Convocation_From_Session_By_Email(tab_files, Folder, dictio
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -7261,11 +7317,11 @@ def Prepare_and_Send_Convocation_From_Session_By_Email(tab_files, Folder, dictio
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_participants = MYSY_GV.dbname['inscription'].find({'session_id': str(diction['session_id']),
'status': '1',
'partner_owner_recid': str(my_partner['recid']),
@@ -7380,7 +7436,7 @@ def Prepare_and_Send_Convocation_From_Session_For_Selected_Inscrit_By_Email(tab_
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -7389,8 +7445,8 @@ def Prepare_and_Send_Convocation_From_Session_For_Selected_Inscrit_By_Email(tab_
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
my_inscription_ids = ""
if ("tab_ids" in diction.keys()):
@@ -7403,7 +7459,7 @@ def Prepare_and_Send_Convocation_From_Session_For_Selected_Inscrit_By_Email(tab_
for my_inscription_id in tab_my_inscription_ids:
tab_my_inscription_Object_ids.append(ObjectId(str(my_inscription_id)))
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_participants = MYSY_GV.dbname['inscription'].find({'session_id': str(diction['session_id']),
'_id': {'$in': tab_my_inscription_Object_ids},
'status': '1',
@@ -7703,7 +7759,7 @@ def Sent_Convocation_Stagiaire_By_Email(tab_files, Folder, diction):
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(inscription_data['session_id'])), 'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
@@ -7956,7 +8012,7 @@ def Sent_Convocation_Stagiaire_By_Email(tab_files, Folder, diction):
"""
Cette fonction prepare et envoi les attestation de formation a chaque
-participant à la session de formation
+participant à La promotion de formation
"""
def Prepare_and_Send_Attestation_From_Session_By_Email(tab_files, Folder, diction):
try:
@@ -7979,7 +8035,7 @@ def Prepare_and_Send_Attestation_From_Session_By_Email(tab_files, Folder, dictio
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -7988,8 +8044,8 @@ def Prepare_and_Send_Attestation_From_Session_By_Email(tab_files, Folder, dictio
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
tab_inscriptions_ids = ""
if ("tab_inscriptions_ids" in diction.keys()):
@@ -8306,7 +8362,7 @@ def Sent_Attestation_Stagiaire_By_Email(tab_files, Folder, diction):
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(inscription_data['session_id'])), 'valide': '1',
'partner_owner_recid': str(my_partner['recid'])})
@@ -8605,7 +8661,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -8614,8 +8670,8 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
"""
Gestion des inscriptions n'ayant pas de client ID
@@ -8795,7 +8851,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
inscription_no_client_valide_no_locked_data['_id'])}})
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("facture_client_rattachement_id",
{'session_id':str(diction['session_id']),
'status': '1',
@@ -8899,13 +8955,13 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
tab_local_invoice_ref_interne.append(str(local_invoice_ref_interne))
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -8965,7 +9021,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
mycommon.myprint(" WARNING : Impossible de logguer l'historique l'inscription_id : " + str(val['_id']))
- return_message = " La session a été correctement facturée.\nListe des factures : "
+ return_message = " La promotion a été correctement facturée.\nListe des factures : "
for tmp in tab_local_invoice_ref_interne:
return_message += "\n - "+str(tmp)
@@ -8997,7 +9053,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email_SAVE_ORIG(tab_files, Folder,
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -9006,8 +9062,8 @@ def Prepare_and_Send_Facture_From_Session_By_Email_SAVE_ORIG(tab_files, Folder,
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
"""
Gestion des inscriptions n'ayant pas de client ID
@@ -9187,7 +9243,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email_SAVE_ORIG(tab_files, Folder,
inscription_no_client_valide_no_locked_data['_id'])}})
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("client_rattachement_id",
{'session_id':str(diction['session_id']),
'status': '1',
@@ -9291,13 +9347,13 @@ def Prepare_and_Send_Facture_From_Session_By_Email_SAVE_ORIG(tab_files, Folder,
tab_local_invoice_ref_interne.append(str(local_invoice_ref_interne))
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -9357,7 +9413,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email_SAVE_ORIG(tab_files, Folder,
mycommon.myprint(" WARNING : Impossible de logguer l'historique l'inscription_id : " + str(val['_id']))
- return_message = " La session a été correctement facturée.\nListe des factures : "
+ return_message = " La promotion a été correctement facturée.\nListe des factures : "
for tmp in tab_local_invoice_ref_interne:
return_message += "\n - "+str(tmp)
@@ -9394,7 +9450,7 @@ def Invoice_Partner_From_Session( diction):
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_id_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -9403,8 +9459,8 @@ def Invoice_Partner_From_Session( diction):
if (is_session_id_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
# Verifier que ce client a bien des inscriptions valide pour cette session
nb_valide_inscription_pr_client = MYSY_GV.dbname['inscription'].count_documents(
@@ -9449,7 +9505,7 @@ def Invoice_Partner_From_Session( diction):
print(" ### tab_participant 2 = ", tab_participant)
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id']))})
tab_session = []
@@ -9574,12 +9630,12 @@ def Invoice_Partner_From_Session( diction):
prix_session = 0
session_price = 0
if( "prix_session" not in session_data.keys() ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide")
- return False, " Facturation : La session n'a pas de prix valide ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide")
+ return False, " Facturation : La promotion n'a pas de prix valide ", False
if( str(session_data['prix_session']).strip() == "" ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide (2) ")
- return False, " Facturation : La session n'a pas de prix valide (2) ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide (2) ")
+ return False, " Facturation : La promotion n'a pas de prix valide (2) ", False
prix_session = mycommon.tryFloat(str(session_data['prix_session']))
@@ -9771,7 +9827,7 @@ def Sent_Facture_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_path,
if (local_status is not True):
return local_status, my_partner
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_id_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -9780,8 +9836,8 @@ def Sent_Facture_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_path,
if (is_session_id_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
# Verifier que ce client a bien des inscriptions valide pour cette session
is_valide_inscription_pr_client = MYSY_GV.dbname['inscription'].count_documents(
@@ -9946,7 +10002,7 @@ def Sent_Facture_Stagiaire_By_Email_By_Partner_client(tab_files_name_full_path,
print(" ### tab_participant 3 = ", tab_participant)
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id']))})
tab_session = []
@@ -10238,7 +10294,7 @@ def Invoice_Inscrption_With_Split_Session_By_Inscription_Id( tab_files, diction)
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_id_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -10247,8 +10303,8 @@ def Invoice_Inscrption_With_Split_Session_By_Inscription_Id( tab_files, diction)
if (is_session_id_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
@@ -10505,13 +10561,13 @@ def Invoice_Inscrption_With_Split_Session_By_Inscription_Id( tab_files, diction)
global_list_facture = str(global_list_facture).replace(",", "\n")
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture_termine = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -10613,7 +10669,7 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id(tab_files, Folder, d
tab_my_inscription_ids_Object.append(ObjectId(str(my_inscription_id)))
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -10622,10 +10678,10 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id(tab_files, Folder, d
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = []
liste_client_facturation_rattachement_id = MYSY_GV.dbname['inscription'].distinct(
@@ -10997,13 +11053,13 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id(tab_files, Folder, d
tab_local_invoice_ref_interne.append(str(local_invoice_ref_interne))
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -11056,7 +11112,7 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id(tab_files, Folder, d
if (local_status is False):
mycommon.myprint(" WARNING : Impossible de logguer l'historique l'inscription_id : " + str(val['_id']))
- return_message = " La session a été correctement facturée.\nListe des factures : "
+ return_message = " La promotion a été correctement facturée.\nListe des factures : "
for tmp in tab_local_invoice_ref_interne:
return_message += "\n - " + str(tmp)
@@ -11119,7 +11175,7 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id_SAVE_ORIG(tab_files,
tab_my_inscription_ids_Object.append(ObjectId(str(my_inscription_id)))
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -11128,13 +11184,13 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id_SAVE_ORIG(tab_files,
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("facture_client_rattachement_id",
{'session_id': str(diction['session_id']),
'status': '1',
@@ -11440,7 +11496,7 @@ def Prepare_and_Send_Facture_From_Session_By_Inscription_Id_SAVE_ORIG(tab_files,
tab_local_invoice_ref_interne.append(str(local_invoice_ref_interne))
- return_message = " La session a été correctement facturée.\nListe des factures : "
+ return_message = " La promotion a été correctement facturée.\nListe des factures : "
for tmp in tab_local_invoice_ref_interne:
return_message += "\n - " + str(tmp)
@@ -11517,7 +11573,7 @@ def Prepare_and_Send_SPLITED_Facture_From_Session_By_Inscription_Id(tab_files, F
tab_my_inscription_ids_Object.append(ObjectId(str(my_inscription_id)))
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -11526,11 +11582,11 @@ def Prepare_and_Send_SPLITED_Facture_From_Session_By_Inscription_Id(tab_files, F
if (is_session_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
- # Verifier qu'il ya bien des inscriptions valides dans la session pour le client
+ # Verifier qu'il ya bien des inscriptions valides dans La promotion pour le client
liste_client_rattachement_id = MYSY_GV.dbname['inscription'].distinct("facture_client_rattachement_id",
{'session_id': str(diction['session_id']),
'status': '1',
@@ -11630,13 +11686,13 @@ def Prepare_and_Send_SPLITED_Facture_From_Session_By_Inscription_Id(tab_files, F
tab_local_invoice_ref_interne.append(str(local_invoice_ref_interne))
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -11689,7 +11745,7 @@ def Prepare_and_Send_SPLITED_Facture_From_Session_By_Inscription_Id(tab_files, F
if (local_status is False):
mycommon.myprint(" WARNING : Impossible de logguer l'historique l'inscription_id : " + str(val['_id']))
"""
- return_message = " La session a été correctement facturée.\nListe des factures : "
+ return_message = " La promotion a été correctement facturée.\nListe des factures : "
for tmp in tab_local_invoice_ref_interne:
return_message += "\n - " + str(tmp)
@@ -11733,7 +11789,7 @@ def Invoice_Partner_From_Session_By_Inscription_Id( diction):
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_id_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -11742,8 +11798,8 @@ def Invoice_Partner_From_Session_By_Inscription_Id( diction):
if (is_session_id_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
# Verifier que ce client a bien des inscriptions valide pour cette session
nb_valide_inscription_pr_client = MYSY_GV.dbname['inscription'].count_documents(
@@ -11814,7 +11870,7 @@ def Invoice_Partner_From_Session_By_Inscription_Id( diction):
print(" ### tab_inscrit_partial_data = ", tab_inscrit_partial_data)
print(" ### tab_apprenant = ", tab_apprenant)
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id']))})
tab_session = []
@@ -11978,12 +12034,12 @@ def Invoice_Partner_From_Session_By_Inscription_Id( diction):
prix_session = 0
session_price = 0
if( "prix_session" not in session_data.keys() ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide")
- return False, " Facturation : La session n'a pas de prix valide ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide")
+ return False, " Facturation : La promotion n'a pas de prix valide ", False
if( str(session_data['prix_session']).strip() == "" ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide (2) ")
- return False, " Facturation : La session n'a pas de prix valide (2) ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide (2) ")
+ return False, " Facturation : La promotion n'a pas de prix valide (2) ", False
prix_session = mycommon.tryFloat(str(session_data['prix_session']))
@@ -12254,7 +12310,7 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
if (local_status is not True):
return local_status, my_partner, False
- # Verifier que la session est valide
+ # Verifier que La promotion est valide
is_session_id_valide = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -12263,8 +12319,8 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
if (is_session_id_valide != 1):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide ", False
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide ", False
"""
Verfifer que l'inscription est valide
@@ -12372,7 +12428,7 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
print(" ### tab_apprenant = ", tab_apprenant)
- # Recuperations des info de la session de formation
+ # Recuperations des info de La promotion de formation
session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id']))})
tab_session = []
@@ -12531,12 +12587,12 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
prix_session = 0
session_price = 0
if( "prix_session" not in session_data.keys() ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide")
- return False, " Facturation : La session n'a pas de prix valide ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide")
+ return False, " Facturation : La promotion n'a pas de prix valide ", False
if( str(session_data['prix_session']).strip() == "" ):
- mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La session n'a pas de prix valide (2) ")
- return False, " Facturation : La session n'a pas de prix valide (2) ", False
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Facturation : La promotion n'a pas de prix valide (2) ")
+ return False, " Facturation : La promotion n'a pas de prix valide (2) ", False
prix_session = mycommon.tryFloat(str(session_data['prix_session']))
@@ -12809,13 +12865,13 @@ def Invoice_Splited_Partner_From_Session_By_Inscription_Id( diction):
{'$set': update_data})
"""
- 07/03/20204 : mettre un statut de facturation sur la session afin de voir
+ 07/03/20204 : mettre un statut de facturation sur La promotion afin de voir
tout de suite quel session est entièrement facturée ou partiellement.
regles :
- Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de la session = 2
- Si au moins une inscription associée à une session est facturé ==> invoiced_statut de la session = 1
- Si non invoiced_statut de la session =0
+ Si toutes les inscription associées à une session sont facturée ==> invoiced_statut de La promotion = 2
+ Si au moins une inscription associée à une session est facturé ==> invoiced_statut de La promotion = 1
+ Si non invoiced_statut de La promotion =0
"""
nb_inscription_facture = MYSY_GV.dbname['inscription'].count_documents(
{'partner_owner_recid': my_partner['recid'],
@@ -13410,8 +13466,8 @@ def Audit_Session_Action_Inscrit(diction):
if( is_valide_session_count != 1 ):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ str(inspect.stack()[0][3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
session_data = MYSY_GV.dbname['session_formation'].find_one(
{'_id': ObjectId(str(diction['session_id'])),
@@ -13505,7 +13561,7 @@ pour mettre à jour la liste de ses apprenant qui sont inscrit à une session.
Cette fonction s'applique uniquement au preinscrit (status = 0)
use case :
-lorqu'un client valide un devis, les places sont preinscrit sur la session avec des nom par defaut
+lorqu'un client valide un devis, les places sont preinscrit sur La promotion avec des nom par defaut
(devis_nom1, devis_nom2, etc).
Le gestionnaire de formation, peut ensuire utiliser cette fonction pour demander au client de saisir ou valider
les noms et emails definitifs.
@@ -13577,7 +13633,7 @@ def Prepare_request_presinscription_data_validation(diction):
'client_rattachement_id'] and inscription_id_data['client_rattachement_id'] not in list_client_id):
list_client_id.append(str(inscription_id_data['client_rattachement_id']))
- # Verifier que la session de formation concernée est valide
+ # Verifier que La promotion de formation concernée est valide
is_valide_session = MYSY_GV.dbname['session_formation'].count_documents(
{'_id': ObjectId(str(inscription_id_data['session_id'])),
'partner_owner_recid': str(my_partner['recid']),
@@ -13585,9 +13641,9 @@ def Prepare_request_presinscription_data_validation(diction):
if (is_valide_session != 1):
mycommon.myprint(str(inspect.stack()[0][
- 3]) + " L'identifiant de la session de formation " + str(
+ 3]) + " L'identifiant de La promotion de formation " + str(
inscription_id_data['session_id']) + " n'est pas valide ")
- return False, " L'identifiant de la session de formation " + str(
+ return False, " L'identifiant de La promotion de formation " + str(
inscription_id_data['session_id']) + " n'est pas valide "
mycommon.myprint_debug(" list_client_id = " + str(list_client_id))
@@ -13810,8 +13866,8 @@ def Send_Email_request_presinscription_data_validation(diction):
if (session_id_data is None):
mycommon.myprint(
str(inspect.stack()[0][
- 3]) + " L'identifiant de la session est invalide ")
- return False, " L'identifiant de la session est invalide "
+ 3]) + " L'identifiant de La promotion est invalide ")
+ return False, " L'identifiant de La promotion est invalide "
tab_session.append(session_id_data['_id'])
class_internal_url = session_id_data['class_internal_url']
@@ -13958,7 +14014,7 @@ def Client_Update_Liste_Attendee_No_Token(diction):
return False, " L'identifiant du client n'est pas valide "
"""
- Verifier que la session est valide
+ Verifier que La promotion est valide
"""
is_session_valide_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -13966,8 +14022,8 @@ def Client_Update_Liste_Attendee_No_Token(diction):
diction['partner_recid'])})
if (is_session_valide_data is None):
mycommon.myprint(str(
- inspect.stack()[0][3]) + " L'identifiant de la session n'est pas valide")
- return False, " L'identifiant de la session n'est pas valide "
+ inspect.stack()[0][3]) + " L'identifiant de La promotion n'est pas valide")
+ return False, " L'identifiant de La promotion n'est pas valide "
JSON_attendee_response = ast.literal_eval(diction['list_attendee_data'])
@@ -14173,7 +14229,7 @@ def Client_Delete_One_Attendee_No_Token(diction):
return False, " L'identifiant du client n'est pas valide "
"""
- Verifier que la session est valide
+ Verifier que La promotion est valide
"""
is_session_valide_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['session_id'])),
'valide': '1',
@@ -14181,8 +14237,8 @@ def Client_Delete_One_Attendee_No_Token(diction):
diction['partner_recid'])})
if (is_session_valide_data is None):
mycommon.myprint(str(
- inspect.stack()[0][3]) + " L'identifiant de la session n'est pas valide")
- return False, " L'identifiant de la session n'est pas valide "
+ inspect.stack()[0][3]) + " L'identifiant de La promotion n'est pas valide")
+ return False, " L'identifiant de La promotion n'est pas valide "
"""
@@ -14405,7 +14461,7 @@ def Add_SessionFormation_From_Quotation_Line(diction):
- # La session n'existe pas, on fait une simple creation
+ # La promotion n'existe pas, on fait une simple creation
coll_name = MYSY_GV.dbname['session_formation']
@@ -14415,9 +14471,9 @@ def Add_SessionFormation_From_Quotation_Line(diction):
if (ret_val is None or not hasattr(ret_val, 'inserted_id')):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " Impossible d'ajouter la session '" + str(
+ str(inspect.stack()[0][3]) + " Impossible d'ajouter La promotion '" + str(
diction['code_session']) + "' ")
- return False, "Impossible d'ajouter la session '" + str(diction['code_session']) + "' "
+ return False, "Impossible d'ajouter La promotion '" + str(diction['code_session']) + "' "
"""
Apres la creation de la session, on met à jour la ligne du devis en ajoutant l'id de la session
@@ -14499,20 +14555,20 @@ def Add_SessionFormation_From_Quotation_Line(diction):
else:
nb_resa_line = nb_resa_line + 1
- return True, " La session de formation à bien été créée"
+ return True, " La promotion de formation à bien été créée"
except Exception as e:
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))
- return False, "Impossible de créer la session de formation"
+ return False, "Impossible de créer La promotion de formation"
"""
Cette fonction permet de mettre à jour le paramettrage
d'envoie automatique des documents d'une session de formation.
Par exemple :
-- Envoyer les convention X avant le début de la session de formation
+- Envoyer les convention X avant le début de La promotion de formation
/!\ : Toute mise à jour reinitialise la valeur 'statut' à 0. (sans cele
le traitement ne va s'exécuté s'il a déjà ete exécuté 1 fois
@@ -14585,15 +14641,15 @@ def Update_SessionFormation_Doc_Automatic_Setup(diction):
return local_status, my_partner
"""
- Verifier la valididé de la session de formation
+ Verifier la valididé de La promotion de formation
"""
is_valide_session = MYSY_GV.dbname['session_formation'].count_documents({'_id':ObjectId(str(diction['_id'])),
'valide':'1', 'partner_owner_recid':str(my_partner['recid'])})
if( is_valide_session != 1 ):
mycommon.myprint(
- str(inspect.stack()[0][3]) + " - L'identifiant de la session de formation est invalide ")
- return False, "L'identifiant de la session de formation est invalide"
+ str(inspect.stack()[0][3]) + " - L'identifiant de La promotion de formation est invalide ")
+ return False, "L'identifiant de La promotion de formation est invalide"
is_valide_session_data = MYSY_GV.dbname['session_formation'].find_one({'_id': ObjectId(str(diction['_id'])),
@@ -14680,12 +14736,12 @@ def Update_SessionFormation_Doc_Automatic_Setup(diction):
" WARNING : Impossible de logguer l'historique pour l'évènement : " + str(history_event_dict))
- return True, " La session de formation à bien été mise à jour"
+ return True, " La promotion de formation à bien é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) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
- return False, "Impossible mettre à jour la session de formation"
+ return False, "Impossible mettre à jour La promotion de formation"
@@ -14834,6 +14890,6 @@ def Get_Given_SessionFormation_List_Automatic_Traitement_From(diction):
except Exception as e:
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))
- return False, "Impossible de récupérer la session de formation"
+ return False, "Impossible de récupérer La promotion de formation"
diff --git a/class_mgt.py b/class_mgt.py
index fdc856b..f015961 100644
--- a/class_mgt.py
+++ b/class_mgt.py
@@ -3702,12 +3702,30 @@ def Get_Partner_All_Class_Few_Fields(diction):
if (local_status is not True):
return local_status, my_partner
+
+ """
+ Filtre uniquement pour la Formation continue
+ """
+ filt_scope_class_id = {}
+ tab_class_id_ObjectId = []
+ if( "scope" in my_partner.keys() and "class_id" in my_partner['scope'].keys() and len(my_partner['scope']['class_id']) > 0 ):
+ for tmp in my_partner['scope']['class_id'] :
+ if( tmp ):
+ tab_class_id_ObjectId.append((ObjectId(tmp)))
+
+ filt_scope_class_id['_id'] = {'$in':tab_class_id_ObjectId}
+
+
RetObject = []
val_tmp = 0
- for retVal in MYSY_GV.dbname['myclass'].find(
+
+
+
+
+ for retVal in MYSY_GV.dbname['myclass'].find( {"$and":[
{'partner_owner_recid': my_partner['recid'],
'valide':'1',
- 'locked':'0'},
+ 'locked':'0'},filt_scope_class_id]},
{'_id': 1, 'external_code': 1, 'internal_code': 1, 'internal_url': 1, }
).sort([("_id", pymongo.DESCENDING), ]):
# mycommon.myprint(str(retVal))
diff --git a/competence.py b/competence.py
index e05321b..adcc9d4 100644
--- a/competence.py
+++ b/competence.py
@@ -53,7 +53,7 @@ def Add_Competence(diction):
"""
Verification des input acceptés
"""
- field_list = ['token', 'description', 'domaine', 'metier', 'commentaire', ]
+ field_list = ['token', 'description', 'domaine', 'metier', 'commentaire', 'code' ]
incom_keys = diction.keys()
for val in incom_keys:
@@ -65,7 +65,7 @@ def Add_Competence(diction):
"""
Verification des champs obligatoires
"""
- field_list_obligatoire = ['token', 'description', ]
+ field_list_obligatoire = ['token', 'description', 'code' ]
for val in field_list_obligatoire:
if val not in diction:
@@ -86,6 +86,20 @@ def Add_Competence(diction):
if (local_status is not True):
return local_status, my_partner
+ """
+ Verifier que ce code de compétence n'est pas déjà utilisé
+ """
+ is_competence_code_used = MYSY_GV.dbname['competence_liste'].count_documents({'code':str(diction['code']),
+ 'valide':'1',
+ 'partner_owner_recid':str(my_partner['recid'])})
+
+ if( is_competence_code_used != 0 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " Le code de compétence "+str(diction['code'])+" est déjà utilisé ")
+ return False, " Le code de compétence "+str(diction['code'])+" est déjà utilisé "
+
+
mydata = {}
mydata = diction
@@ -96,8 +110,8 @@ def Add_Competence(diction):
if val not in diction.keys():
mydata[str(val)] = ""
- mydata['date_update'] = str(datetime.now())
- mydata['update_by'] = str(my_partner['_id'])
+ mydata['date_created'] = str(datetime.now())
+ mydata['created_by'] = str(my_partner['_id'])
mydata['partner_owner_recid'] = str(my_partner['recid'])
mydata['valide'] = "1"
mydata['locked'] = "0"
@@ -129,7 +143,7 @@ def Update_Competence(diction):
"""
Verification des input acceptés
"""
- field_list = ['token', 'description', 'competence_id', 'domaine', 'metier', 'commentaire', ]
+ field_list = ['token', 'description', 'competence_id', 'domaine', 'metier', 'commentaire', 'code' ]
incom_keys = diction.keys()
for val in incom_keys:
@@ -141,7 +155,7 @@ def Update_Competence(diction):
"""
Verification des champs obligatoires
"""
- field_list_obligatoire = ['token', 'description', 'competence_id', ]
+ field_list_obligatoire = ['token', 'description', 'competence_id', 'code']
for val in field_list_obligatoire:
if val not in diction:
@@ -163,10 +177,28 @@ def Update_Competence(diction):
if diction['competence_id']:
competence_id = diction['competence_id']
+
+
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 code de compétence n'est pas utilisé par une autre compétence autre que celle ci
+ """
+
+ is_competence_code_used = MYSY_GV.dbname['competence_liste'].count_documents({'code': str(diction['code']),
+ 'valide': '1',
+ '_id':{'$ne':ObjectId(str(diction['competence_id']))},
+ 'partner_owner_recid': str(
+ my_partner['recid'])})
+
+ if (is_competence_code_used != 0):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " Le code de compétence " + str(diction['code']) + " est déjà utilisé ")
+ return False, " Le code de compétence " + str(diction['code']) + " est déjà utilisé "
+
# Verifier que la compétence existe et est valide
is_valide_opport = MYSY_GV.dbname['competence_liste'].count_documents({'_id':ObjectId(str(competence_id)),
@@ -264,6 +296,10 @@ def Get_Competence_no_filter(diction):
for New_retVal in MYSY_GV.dbname['competence_liste'].find(qry).sort([("_id", pymongo.DESCENDING), ]):
user = New_retVal
+
+ if( "code" not in user.keys() ):
+ user["code"] = "--"
+
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
diff --git a/financial_caracteristique_mgt.py b/financial_caracteristique_mgt.py
new file mode 100644
index 0000000..efb65e3
--- /dev/null
+++ b/financial_caracteristique_mgt.py
@@ -0,0 +1,399 @@
+"""
+Ce fichier permet de gerer les caracterisques financières
+d'une formation, d'une session ou toutes autre object metier.
+
+Par exemple il permettra de gere sur une session :
+- les frais d'inscription
+- les frais de scolarité
+- les couts fixe (utiliser pour calculer la rentrabilité, etc).
+
+IMPORTANT : Il ne s'agit aucunement de faire de la comptabilité mais gerer les aspect administratif finacier
+"""
+import bson
+import pymongo
+from pymongo import MongoClient
+import json
+from bson import ObjectId
+import re
+from datetime import datetime
+import prj_common as mycommon
+import secrets
+import inspect
+import sys, os
+import csv
+import pandas as pd
+from pymongo import ReturnDocument
+import GlobalVariable as MYSY_GV
+from math import isnan
+import GlobalVariable as MYSY_GV
+import ela_index_bdd_classes as eibdd
+import email_mgt as email
+import jinja2
+from flask import send_file
+from xhtml2pdf import pisa
+from email.message import EmailMessage
+from email.mime.text import MIMEText
+from email import encoders
+import smtplib
+from email.mime.multipart import MIMEMultipart
+from email.mime.text import MIMEText
+from email.mime.base import MIMEBase
+from email import encoders
+"""
+Fonction d'ajout d'une caracteristique financière
+"""
+def Add_Financial_Caracteristique(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'code' , 'description', 'commentaire', 'montant',
+ 'related_collection', 'related_collection_id', 'type_cout',
+ 'inclus_calcul']
+
+ 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', 'code', 'related_collection', 'related_collection_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 la liste des arguments ")
+ 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 ce code de la cara fin n'est pas déjà utilisé
+ """
+ is_competence_code_used = MYSY_GV.dbname['financial_caracteristic'].count_documents({'code':str(diction['code']),
+ 'valide':'1',
+ 'partner_owner_recid':str(my_partner['recid'])})
+
+ if( is_competence_code_used != 0 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " Le code "+str(diction['code'])+" est déjà utilisé ")
+ return False, " Le code "+str(diction['code'])+" est déjà utilisé "
+
+ if( "montant" in diction.keys() and diction['montant']):
+ local_status, valeur = mycommon.IsFloat(str(diction['montant']))
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " Le montant est incorrecte. la veleur attendue est un entier ou un decimal.")
+ return False, " Le montant est incorrecte. la veleur attendue est un entier ou un decimal. "
+
+
+ """
+ Verifier la validité de la related_collection et related_collection_id
+ """
+ is_related_collection_id_valide = MYSY_GV.dbname[str(diction['related_collection'])].count_documents({'_id':ObjectId(str(diction['related_collection_id'])),
+ 'valide':'1',
+ 'partner_owner_recid':str(my_partner['recid'])})
+
+ if( is_related_collection_id_valide != 1 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " L'identifiant de la related_collection_id est invalide ")
+ return False, " L'identifiant de la related_collection_id est invalide "
+
+
+ mydata = {}
+
+ mydata = diction
+ del mydata['token']
+
+ # Initialisation des champs non envoyés à vide
+ for val in field_list:
+ if val not in diction.keys():
+ mydata[str(val)] = ""
+
+ mydata['date_created'] = str(datetime.now())
+ mydata['created_by'] = str(my_partner['_id'])
+ mydata['partner_owner_recid'] = str(my_partner['recid'])
+ mydata['valide'] = "1"
+ mydata['locked'] = "0"
+
+
+
+ inserted_id = MYSY_GV.dbname['financial_caracteristic'].insert_one(mydata).inserted_id
+
+ if (not inserted_id):
+ mycommon.myprint(" Impossible de créer la caractéristique financière (2) ")
+ return False, " Impossible de créer la caractéristique financière (2) "
+
+ return True, " La caractéristique financière a été correctement ajoutée "
+
+
+ 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 créer la caractéristique financière "
+
+
+"""
+Fonction de mise à jour d'une Financial_Caracteristique
+"""
+def Update_Financial_Caracteristique(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', '_id', 'code' , 'description', 'commentaire', 'montant', 'type_cout',
+ 'related_collection', 'related_collection_id', 'inclus_calcul'
+ ]
+
+ 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', '_id', 'code']
+
+ 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 la liste des arguments ")
+ 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']
+
+ fin_ca_id = ""
+ if ("_id" in diction.keys()):
+ if diction['_id']:
+ fin_ca_id = diction['_id']
+
+
+
+ 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 code de compétence n'est pas utilisée par une autre compétence autre que celle ci
+ """
+
+ is_fiance_ca_code_used = MYSY_GV.dbname['financial_caracteristic'].count_documents({'code': str(diction['code']),
+ 'valide': '1',
+ '_id':{'$ne':ObjectId(str(diction['_id']))},
+ 'partner_owner_recid': str(
+ my_partner['recid'])})
+
+ if (is_fiance_ca_code_used != 0):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " Le code " + str(diction['code']) + " est déjà utilisé ")
+ return False, " Le code " + str(diction['code']) + " est déjà utilisé "
+
+
+ # Verifier que la caracteristique existe et est valide
+ is_valide_fin_ca = MYSY_GV.dbname['financial_caracteristic'].count_documents({'_id':ObjectId(str(fin_ca_id)),
+ 'valide':'1',
+ 'locked':'0',
+ 'partner_owner_recid':str(my_partner['recid'])})
+
+
+ if( is_valide_fin_ca != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " L'identifiant de la caractéristique financière est invalide ")
+ return False, " L'identifiant de la caractéristique financière est invalide "
+
+
+ mydata = {}
+ mydata = diction
+ del mydata['token']
+ del mydata['_id']
+
+
+ mydata['date_update'] = str(datetime.now())
+ mydata['update_by'] = str(my_partner['_id'])
+
+ result = MYSY_GV.dbname['financial_caracteristic'].find_one_and_update(
+ {'_id':ObjectId(str(fin_ca_id)),
+ 'partner_owner_recid':str(my_partner['recid'])},
+ {"$set": mydata},
+ upsert=False,
+ return_document=ReturnDocument.AFTER
+ )
+ if ("_id" not in result.keys()):
+ mycommon.myprint(
+ " Impossible de mettre à jour la caractéristique financière (2) ")
+ return False, " Impossible de mettre à jour la caractéristique financière (2) "
+
+
+
+ return True, " La caractéristique financière a été correctement 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 mettre à jour la caractéristique financière "
+
+
+"""
+Recuperer la liste des Financial_Caracteristique d'un partner, sans filtres
+"""
+def Get_Financial_Caracteristique_no_filter(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'related_collection' , 'related_collection_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', 'related_collection' , 'related_collection_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 la liste des arguments ")
+ 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
+
+
+ RetObject = []
+ val_tmp = 0
+
+ qry = {"partner_owner_recid":str(my_partner['recid']), 'valide':'1', 'locked':'0',
+ 'related_collection':str(diction['related_collection']), 'related_collection_id':str(diction['related_collection_id'])}
+
+ for New_retVal in MYSY_GV.dbname['financial_caracteristic'].find(qry).sort([("_id", pymongo.DESCENDING), ]):
+ user = New_retVal
+
+ user['id'] = str(val_tmp)
+ val_tmp = val_tmp + 1
+
+ RetObject.append(mycommon.JSONEncoder().encode(user))
+
+
+ #print(" #### RetObject = ", RetObject)
+ 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 caractéristique financières "
+
+
+"""
+Suppression d'une compétence
+"""
+def Delete_List_Financial_Caracteristique(diction):
+ try:
+ diction = mycommon.strip_dictionary(diction)
+
+ """
+ Verification des input acceptés
+ """
+ field_list = ['token', 'tab_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', 'tab_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 la liste des arguments ")
+ 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
+
+
+ local_tab_ids = str(diction['tab_id']).split(",")
+ tab_ids_ObjectID = []
+ for tmp in local_tab_ids:
+ if( tmp ):
+ tab_ids_ObjectID.append(ObjectId(str(tmp)))
+
+
+ qry = {'_id':{'$in':tab_ids_ObjectID}, 'partner_owner_recid':str(my_partner['recid'])}
+
+ ret_del_ca_fin = MYSY_GV.dbname['financial_caracteristic'].delete_many(qry)
+
+ return True, "La caractéristique financière a été correctement supprimée"
+
+
+ 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 supprimer la compétence "
+
diff --git a/main.py b/main.py
index 495fa41..d33e11b 100644
--- a/main.py
+++ b/main.py
@@ -98,6 +98,7 @@ import base_partner_catalog_config as base_partner_catalog_config
import equipe_team_mgt as equipe_team_mgt
import base_class_calcul_note as base_class_calcul_note
import jury_mgt as jury_mgt
+import financial_caracteristique_mgt as financial_caracteristique_mgt
import base_document_automatic_setup as base_document_automatic_setup
@@ -2227,7 +2228,7 @@ def Add_Update_SessionFormation():
"""
API de mise à jour JUSTE de l'etape, notamment utilisé dans le mode kanban
-/!\ : Une session est modifiable tanque la facturation n'a pas demarré. Apres tous est bloqué
+WARNING : Une session est modifiable tanque la facturation n'a pas demarré. Apres tous est bloqué
"""
@app.route('/myclass/api/Update_SessionFormation_Only_Step/', methods=['POST','GET'])
@crossdomain(origin='*')
@@ -2241,7 +2242,7 @@ def Update_SessionFormation_Only_Step():
"""
API de mise à jour du parametrage d'automatisation d'envoi des documents
-/!\ : Une session est modifiable tanque la facturation n'a pas demarré. Apres tous est bloqué
+WARNING : Une session est modifiable tanque la facturation n'a pas demarré. Apres tous est bloqué
"""
@app.route('/myclass/api/Update_SessionFormation_Doc_Automatic_Setup/', methods=['POST','GET'])
@crossdomain(origin='*')
@@ -2400,7 +2401,7 @@ def Get_Given_SessionFormation_From_Id():
"""
API de suppression d'une session de formation :
-/!\ : il faut s'assurer qu'il n'y a aucune inscription avant de supprimer valide.
+WARNING : il faut s'assurer qu'il n'y a aucune inscription avant de supprimer valide.
Et la session est supprimé, alors supprimer toutes inscriptions (annulée) associés
Ensuite supprimer les affectations d'enseignants et de materiels associée
"""
@@ -2781,7 +2782,7 @@ def get_Class_From_Internal_Url():
"""
Cette API retourne une formation, en partant l'url de la formation
-/!\ : on ne fais pas de controle de recid (car c'est le bot admin qui doit l'utiliser (revoir cette logique plus tard)
+WARNING : on ne fais pas de controle de recid (car c'est le bot admin qui doit l'utiliser (revoir cette logique plus tard)
"""
@app.route('/myclass/api/get_Class_From_Url/', methods=['POST','GET'])
@crossdomain(origin='*')
@@ -3764,7 +3765,7 @@ def recherche_business_price():
"""
Cette API verifie si un client mysy existe sur chamilo.
Si le client n'existe pas, il le crée avec le pack et le bon nombre de formation
-/!\ : On stock dans mysy (collection partnair_account) l'id chamilo du user.
+WARNING : On stock dans mysy (collection partnair_account) l'id chamilo du user.
le nom du champ est : mysy_lms_user_id/
"""
@app.route('/myclass/api/Check_MySy_LMS_Account/', methods=['POST','GET'])
@@ -7348,7 +7349,7 @@ def get_Agenda_Event_List_With_Filter():
"""
API d'ajout ou mise à jour d'un evenement
-/!\ : Important :
+WARNING : Important :
- Pour les eemployé et le materiel, on utilise le related_collection_recid
"""
@app.route('/myclass/api/Add_Update_Agenda_Event/', methods=['POST','GET'])
@@ -7362,7 +7363,7 @@ def Add_Update_Agenda_Event():
"""
API d'ajout ou mise à jour d'un evenement pour les apprenants
-/!\ : Important :
+WARNING : Important :
- Pour les apprenant (inscription), on utilise 'related_collection_email' car la clé des apprenant est l'email
"""
@app.route('/myclass/api/Add_Update_Agenda_Event_Stagiaire/', methods=['POST','GET'])
@@ -10539,7 +10540,7 @@ def Get_Given_Evaluation_Planification():
"""
API pour Supprimer une evaluation planifiée
-/!\ : les regles de suppression ne sont pas encore implémentés
+WARNING : les regles de suppression ne sont pas encore implémentés
"""
@app.route('/myclass/api/Delete_Evaluation_Planification/', methods=['POST','GET'])
@crossdomain(origin='*')
@@ -12766,6 +12767,60 @@ def Add_Update_UE_Jury_Observation():
+"""
+API pour ajouter caractéristique financière à un related_collection / related_collection_id
+"""
+@app.route('/myclass/api/Add_Financial_Caracteristique/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Add_Financial_Caracteristique():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Add_Financial_Caracteristique : payload = ",str(payload))
+ status, retval = financial_caracteristique_mgt.Add_Financial_Caracteristique( payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+API pour mettre à jour caractéristique financière à un related_collection / related_collection_id
+"""
+@app.route('/myclass/api/Update_Financial_Caracteristique/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Update_Financial_Caracteristique():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Update_Financial_Caracteristique : payload = ",str(payload))
+ status, retval = financial_caracteristique_mgt.Update_Financial_Caracteristique( payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+API pour recuperer la liste des caractéristiques financières d'un couple related_collection / related_collection_id
+"""
+@app.route('/myclass/api/Get_Financial_Caracteristique_no_filter/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Get_Financial_Caracteristique_no_filter():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Get_Financial_Caracteristique_no_filter : payload = ",str(payload))
+ status, retval = financial_caracteristique_mgt.Get_Financial_Caracteristique_no_filter( payload)
+ return jsonify(status=status, message=retval)
+
+
+
+"""
+API pour supprimer une liste des caractéristiques financières d'un couple related_collection / related_collection_id
+"""
+@app.route('/myclass/api/Delete_List_Financial_Caracteristique/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def Delete_List_Financial_Caracteristique():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### Delete_List_Financial_Caracteristique : payload = ",str(payload))
+ status, retval = financial_caracteristique_mgt.Delete_List_Financial_Caracteristique( payload)
+ return jsonify(status=status, message=retval)
+
+
+
if __name__ == '__main__':
print(" debut api")
context = SSL.Context(SSL.SSLv23_METHOD)
@@ -12785,7 +12840,7 @@ if __name__ == '__main__':
mycommon.myprint("++ LMS_BAS_URL " + str(MYSY_GV.LMS_BAS_URL) + " ++")
"""
- /!\ Dasactivé en dev pour pas consommer de ressource pr rien.
+ WARNING Dasactivé en dev pour pas consommer de ressource pr rien.
"""
"""
scheduler = BackgroundScheduler()
@@ -12798,7 +12853,7 @@ if __name__ == '__main__':
scheduler.start()
- # /!\ IMPORTANT /!\ : Shut down the scheduler when exiting the app
+ # WARNING IMPORTANT WARNING : Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
"""
@@ -12822,7 +12877,7 @@ if __name__ == '__main__':
# Start the scheduler
scheduler.start()
- # /!\ IMPORTANT /!\ : Shut down the scheduler when exiting the app
+ # WARNING IMPORTANT WARNING : Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
@@ -12844,7 +12899,7 @@ if __name__ == '__main__':
# Start the scheduler
scheduler.start()
- # /!\ IMPORTANT /!\ : Shut down the scheduler when exiting the app
+ # WARNING IMPORTANT WARNING : Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())
diff --git a/survey_mgt.py b/survey_mgt.py
index cefa8b5..1453a4a 100644
--- a/survey_mgt.py
+++ b/survey_mgt.py
@@ -3575,15 +3575,16 @@ def Get_Entity_Question_List_With_Stat_For_Given_related_collection_id(diction):
node['question_question'] = str(tmp['question'])
node['class_id'] = str(retval['class_id'])
- if (str(tmp['type']) in ['note', 'entier']):
- node['question_type'] = "Moyenne"
+ if( 'type' in tmp.key() ):
+ if (str(tmp['type']) in ['note', 'entier']):
+ node['question_type'] = "Moyenne"
- elif (str(tmp['type'])in ['bool']):
- node['question_type'] = "Somme"
- else:
- mycommon.myprint(
- " Le paramétrage de la question ne permet pas de déterminer la nature statistiques des données ")
- return False, " Le paramétrage de la question ne permet pas de déterminer la nature statistiques des données "
+ elif (str(tmp['type'])in ['bool']):
+ node['question_type'] = "Somme"
+ else:
+ mycommon.myprint(
+ " Le paramétrage de la question ne permet pas de déterminer la nature statistiques des données ")
+ return False, " Le paramétrage de la question ne permet pas de déterminer la nature statistiques des données "
RetObject.append(mycommon.JSONEncoder().encode(node))
diff --git a/unite_enseignement_mgt.py b/unite_enseignement_mgt.py
index 2dbb1d6..8d0304d 100644
--- a/unite_enseignement_mgt.py
+++ b/unite_enseignement_mgt.py
@@ -356,6 +356,7 @@ def Get_List_Unite_Enseignement_no_filter(diction):
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
+
if (str(New_retVal['duration_unite']) == "heure"):
user['duration_concat'] = str(New_retVal['duration']) + " h"
elif (str(New_retVal['duration_unite']) == "jour"):
@@ -669,6 +670,41 @@ def Get_Given_Unite_Enseignement(diction):
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
+
+ tab_competence = []
+ tab_competence_code = []
+ list_competence_code = ""
+ tab_competence_JSON = []
+ if( "niveau_competence" in user.keys() and user['niveau_competence']):
+ tab_competence = str(user['niveau_competence']).split(",")
+
+ local_cpt = 0
+ for tmp in tab_competence :
+ if( tmp ):
+ local_competence_data = MYSY_GV.dbname['competence_liste'].find_one({'_id':ObjectId(str(tmp)),
+ 'valide':'1',
+ 'locked':'0',
+ 'partner_owner_recid':str(my_partner['recid'])}, {'_id':1, 'code':1})
+ if(local_competence_data and "code" in local_competence_data.keys() ):
+ tab_competence_code.append(str(local_competence_data['code']))
+ local_node = {}
+ local_node['id'] = str(local_cpt)
+ local_node['_id'] = str(local_competence_data['_id'])
+ local_node['code'] = str(local_competence_data['code'])
+ local_node['label'] = str(local_competence_data['code'])
+
+ tab_competence_JSON.append(local_node)
+
+
+ local_cpt = local_cpt +1
+
+
+ list_competence_code = ",".join(tab_competence_code)
+ user['list_competence_code'] = list_competence_code
+ # C'est chiant, mais il faut reconstituer le JSON pour le front
+ user['tab_competence_JSON'] = tab_competence_JSON
+
+
RetObject.append(mycommon.JSONEncoder().encode(user))