wws
parent
62dd855456
commit
4fc6463e3c
|
@ -3,10 +3,10 @@
|
|||
<component name="ChangeListManager">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="ww">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/GlobalVariable.py" beforeDir="false" afterPath="$PROJECT_DIR$/GlobalVariable.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Inscription_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/Inscription_mgt.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/emargement.py" beforeDir="false" afterPath="$PROJECT_DIR$/emargement.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/prj_common.py" beforeDir="false" afterPath="$PROJECT_DIR$/prj_common.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
@ -77,13 +77,6 @@
|
|||
<option name="presentableId" value="Default" />
|
||||
<updated>1680804787304</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00293" summary="gdf">
|
||||
<created>1715422956048</created>
|
||||
<option name="number" value="00293" />
|
||||
<option name="presentableId" value="LOCAL-00293" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1715422956049</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00294" summary="dd">
|
||||
<created>1715448610311</created>
|
||||
<option name="number" value="00294" />
|
||||
|
@ -420,7 +413,14 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1719519702780</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="342" />
|
||||
<task id="LOCAL-00342" summary="ww">
|
||||
<created>1719675793617</created>
|
||||
<option name="number" value="00342" />
|
||||
<option name="presentableId" value="LOCAL-00342" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1719675793618</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="343" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
|
|
|
@ -2277,6 +2277,7 @@ Avec l'import d'un fichier csv
|
|||
"""
|
||||
def AddStagiairetoClass_mass(file=None, Folder=None, diction=None):
|
||||
try:
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
|
@ -2400,7 +2401,7 @@ def AddStagiairetoClass_mass(file=None, Folder=None, diction=None):
|
|||
'''
|
||||
field_list = ['formation_code_externe', 'code_session', 'prenom', 'nom', 'employeur',
|
||||
'telephone', 'email', 'modefinancement','opco', 'status', 'prix', 'adresse', 'code_postal', 'ville',
|
||||
'pays', 'client_rattachement_email', 'client_rattachement_nom', 'type_apprenant']
|
||||
'pays', 'client_rattachement_email', 'client_rattachement_nom', 'type_apprenant', 'civilite']
|
||||
|
||||
|
||||
# Controle du nombre de lignes dans le fichier.
|
||||
|
@ -2507,6 +2508,22 @@ def AddStagiairetoClass_mass(file=None, Folder=None, diction=None):
|
|||
mydata['type_apprenant'] = type_apprenant
|
||||
|
||||
|
||||
|
||||
|
||||
civilite = ""
|
||||
if ("civilite" in df.keys()):
|
||||
if (str(df['civilite'].values[n])):
|
||||
civilite = str(df['civilite'].values[n]).lower()
|
||||
mydata['civilite'] = str(civilite).lower()
|
||||
if( civilite not in MYSY_GV.CIVILITE):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : "+str(MYSY_GV.CIVILITE))
|
||||
return False, " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : "+str(MYSY_GV.CIVILITE)
|
||||
|
||||
adresse = ""
|
||||
if ("adresse" in df.keys()):
|
||||
if (str(df['adresse'].values[n])):
|
||||
|
@ -2632,6 +2649,9 @@ Controle du fichier à importer avant import
|
|||
|
||||
def Controle_AddStagiairetoClass_mass(saved_file=None, Folder=None, diction=None):
|
||||
try:
|
||||
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||
|
@ -2748,7 +2768,7 @@ def Controle_AddStagiairetoClass_mass(saved_file=None, Folder=None, diction=None
|
|||
field_list = ['formation_code_externe', 'code_session', 'prenom', 'nom', 'employeur',
|
||||
'telephone', 'email', 'modefinancement', 'opco', 'status', 'prix', 'adresse', 'code_postal',
|
||||
'ville',
|
||||
'pays', 'client_rattachement_email', 'client_rattachement_nom', 'type_apprenant']
|
||||
'pays', 'client_rattachement_email', 'client_rattachement_nom', 'type_apprenant', 'civilite']
|
||||
|
||||
# Controle du nombre de lignes dans le fichier.
|
||||
total_rows = len(df)
|
||||
|
@ -2811,6 +2831,21 @@ def Controle_AddStagiairetoClass_mass(saved_file=None, Folder=None, diction=None
|
|||
mydata['session_id'] = str(session_data['_id'])
|
||||
mydata['token'] = str(my_token)
|
||||
|
||||
civilite = ""
|
||||
if ("civilite" in df.keys()):
|
||||
if (str(df['civilite'].values[n])):
|
||||
civilite = str(df['civilite'].values[n]).lower()
|
||||
mydata['civilite'] = str(civilite).lower()
|
||||
if (civilite not in MYSY_GV.CIVILITE):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : " + str(MYSY_GV.CIVILITE))
|
||||
return False, " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : " + str(MYSY_GV.CIVILITE)
|
||||
|
||||
|
||||
modefinancement = ""
|
||||
if ("modefinancement" in df.keys()):
|
||||
if (str(df['modefinancement'].values[n])):
|
||||
|
@ -3000,6 +3035,8 @@ Elle fera a peu pret les meme controle qui existe dans la fonction d'import actu
|
|||
def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=None):
|
||||
try:
|
||||
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||
|
@ -3074,7 +3111,7 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
|
|||
field_list = ['formation_code_externe', 'code_session', 'prenom', 'nom', 'employeur',
|
||||
'telephone', 'email', 'modefinancement', 'opco', 'status', 'prix', 'adresse', 'code_postal',
|
||||
'ville', 'pays', 'client_rattachement_email', 'client_rattachement_nom','facture_client_rattachement_email',
|
||||
'facture_client_rattachement_nom']
|
||||
'facture_client_rattachement_nom', 'civilite']
|
||||
|
||||
|
||||
# Controle du nombre de lignes dans le fichier.
|
||||
|
@ -3118,8 +3155,8 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
|
|||
mydata = {}
|
||||
class_external_code = str(df['formation_code_externe'].values[n])
|
||||
#mydata['code_session'] = str(df['code_session'].values[n])
|
||||
mydata['prenom'] = str(df['prenom'].values[n])
|
||||
mydata['nom'] = str(df['nom'].values[n])
|
||||
mydata['prenom'] = str(df['prenom'].values[n]).strip()
|
||||
mydata['nom'] = str(df['nom'].values[n]).strip()
|
||||
if (len(str(mydata['nom']).strip()) < 2):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " Le champ 'nom' de la ligne " + str(
|
||||
|
@ -3128,9 +3165,9 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
|
|||
n + 2) + " doit faire plus de deux caractères. "
|
||||
|
||||
|
||||
mydata['employeur'] = str(df['employeur'].values[n])
|
||||
mydata['telephone'] = str(df['telephone'].values[n])
|
||||
mydata['email'] = str(df['email'].values[n]).strip()
|
||||
mydata['employeur'] = str(df['employeur'].values[n]).strip()
|
||||
mydata['telephone'] = str(df['telephone'].values[n]).strip()
|
||||
mydata['email'] = str(df['email'].values[n]).strip().strip()
|
||||
regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b'
|
||||
if (not re.fullmatch(regex, str(df['email'].values[n]).strip() )):
|
||||
mycommon.myprint(
|
||||
|
@ -3227,38 +3264,38 @@ def AddStagiairetoClass_mass_for_many_session(file=None, Folder=None, diction=No
|
|||
modefinancement = ""
|
||||
if ("modefinancement" in df.keys()):
|
||||
if (str(df['modefinancement'].values[n])):
|
||||
modefinancement = str(df['modefinancement'].values[n])
|
||||
modefinancement = str(df['modefinancement'].values[n]).strip()
|
||||
mydata['modefinancement'] = modefinancement
|
||||
|
||||
|
||||
opco = ""
|
||||
if ("opco" in df.keys()):
|
||||
if (str(df['opco'].values[n])):
|
||||
opco = str(df['opco'].values[n])
|
||||
opco = str(df['opco'].values[n]).strip()
|
||||
mydata['opco'] = opco
|
||||
|
||||
adresse = ""
|
||||
if ("adresse" in df.keys()):
|
||||
if (str(df['adresse'].values[n])):
|
||||
adresse = str(df['adresse'].values[n])
|
||||
adresse = str(df['adresse'].values[n]).strip()
|
||||
mydata['adresse'] = adresse
|
||||
|
||||
code_postal = ""
|
||||
if ("code_postal" in df.keys()):
|
||||
if (str(df['code_postal'].values[n])):
|
||||
code_postal = str(df['code_postal'].values[n])
|
||||
code_postal = str(df['code_postal'].values[n]).strip()
|
||||
mydata['code_postal'] = code_postal
|
||||
|
||||
ville = ""
|
||||
if ("ville" in df.keys()):
|
||||
if (str(df['ville'].values[n])):
|
||||
ville = str(df['ville'].values[n])
|
||||
ville = str(df['ville'].values[n]).strip()
|
||||
mydata['ville'] = ville
|
||||
|
||||
pays = ""
|
||||
if ("pays" in df.keys()):
|
||||
if (str(df['pays'].values[n])):
|
||||
pays = str(df['pays'].values[n])
|
||||
pays = str(df['pays'].values[n]).strip()
|
||||
mydata['pays'] = pays
|
||||
|
||||
|
||||
|
@ -3395,7 +3432,7 @@ Fonction de controle du fichier
|
|||
"""
|
||||
def Controle_AddStagiairetoClass_mass_for_many_session(saved_file=None, Folder=None, diction=None):
|
||||
try:
|
||||
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||
|
@ -3448,7 +3485,7 @@ def Controle_AddStagiairetoClass_mass_for_many_session(saved_file=None, Folder=N
|
|||
field_list = ['formation_code_externe', 'code_session', 'prenom', 'nom', 'employeur',
|
||||
'telephone', 'email', 'modefinancement', 'opco', 'status', 'prix', 'adresse', 'code_postal',
|
||||
'ville', 'pays', 'client_rattachement_email', 'client_rattachement_nom',
|
||||
'facture_client_rattachement_email', 'facture_client_rattachement_nom']
|
||||
'facture_client_rattachement_email', 'facture_client_rattachement_nom', 'civilite']
|
||||
|
||||
|
||||
# Controle du nombre de lignes dans le fichier.
|
||||
|
@ -3610,6 +3647,19 @@ def Controle_AddStagiairetoClass_mass_for_many_session(saved_file=None, Folder=N
|
|||
pays = str(df['pays'].values[n])
|
||||
mydata['pays'] = pays
|
||||
|
||||
civilite = ""
|
||||
if ("civilite" in df.keys()):
|
||||
if (str(df['civilite'].values[n])):
|
||||
civilite = str(df['civilite'].values[n]).lower()
|
||||
mydata['civilite'] = str(civilite).lower()
|
||||
if( civilite not in MYSY_GV.CIVILITE):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : "+str(MYSY_GV.CIVILITE))
|
||||
return False, " Ligne : " + str(
|
||||
n + 2) + ". La civilité :" + str(
|
||||
civilite) + " est invalide. Les valeurs acceptées sont : "+str(MYSY_GV.CIVILITE)
|
||||
|
||||
""""
|
||||
Gestion du client de rattachement/
|
||||
|
|
3166
Log/log_file.log
3166
Log/log_file.log
File diff suppressed because it is too large
Load Diff
189
emargement.py
189
emargement.py
|
@ -506,7 +506,8 @@ def UpdateUserEmargementDate(diction):
|
|||
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||
# field_list.
|
||||
'''
|
||||
field_list = [ 'session_id', 'token', 'email', 'date', 'matin', 'apresmidi', 'class_internal_url', 'is_present', '_id']
|
||||
field_list = [ 'session_id', 'token', 'email', 'date', 'matin', 'apresmidi', 'class_internal_url', 'is_present', '_id',
|
||||
]
|
||||
incom_keys = diction.keys()
|
||||
for val in incom_keys:
|
||||
if val not in field_list and val.startswith('my_') is False:
|
||||
|
@ -586,6 +587,192 @@ def UpdateUserEmargementDate(diction):
|
|||
return False, "Impossible de valider l'émargement"
|
||||
|
||||
|
||||
"""
|
||||
04/07/2024 -
|
||||
Mise à jour d'une liste d'emargement
|
||||
"""
|
||||
def Update_Given_Emargement_Data(diction):
|
||||
try:
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||
# field_list.
|
||||
'''
|
||||
field_list = [ 'session_id', 'token', 'email', 'date', 'matin', 'apresmidi', 'class_internal_url', 'is_present', 'tab_ids', 'comment'
|
||||
]
|
||||
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é, Creation partenaire annulée")
|
||||
return False, "Impossible de créer la liste d'emargement. Toutes les informations fournies ne sont pas valables"
|
||||
|
||||
"""
|
||||
Verification de la liste des champs obligatoires
|
||||
"""
|
||||
field_list_obligatoire = [ 'token', 'tab_ids']
|
||||
|
||||
for val in field_list_obligatoire:
|
||||
if val not in diction:
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " - : La valeur '" + val + "' n'est pas presente dans liste ")
|
||||
return False, "Impossible de créer la liste d'emargement, Toutes les informations necessaires n'ont pas été fournies"
|
||||
|
||||
my_token = ""
|
||||
if ("token" in diction.keys()):
|
||||
if diction['token']:
|
||||
my_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
|
||||
|
||||
partner_recid = str(my_partner['recid'])
|
||||
|
||||
# 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"
|
||||
|
||||
tab_ids = ""
|
||||
if ("tab_ids" in diction.keys()):
|
||||
if diction['tab_ids']:
|
||||
tab_ids = diction['tab_ids']
|
||||
|
||||
tab_ids_splited = str(tab_ids).split(",")
|
||||
tab_ids_splited_Objectid = []
|
||||
|
||||
for my_id in tab_ids_splited:
|
||||
# Verifier que les survey sont valides
|
||||
qry = {'_id': ObjectId(str(my_id)), 'partner_owner_recid': str(my_partner['recid']), 'valide': '1',
|
||||
'locked': '0'}
|
||||
|
||||
print(" qry2 === ", qry)
|
||||
tmp_count = MYSY_GV.dbname['emargement'].count_documents(qry)
|
||||
|
||||
if (tmp_count <= 0):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " L'identifiant de l'emargement " + str(my_id) + " est invalide ")
|
||||
return False, " L'identifiant de l'emargement " + str(my_id) + " est invalide "
|
||||
|
||||
tab_ids_splited_Objectid.append(ObjectId(str(my_id)))
|
||||
|
||||
|
||||
|
||||
|
||||
is_present = ""
|
||||
if ("is_present" in diction.keys()):
|
||||
if diction['is_present']:
|
||||
is_present = diction['is_present']
|
||||
|
||||
comment = ""
|
||||
if ("comment" in diction.keys()):
|
||||
if diction['comment']:
|
||||
comment = str(diction['comment']).strip()
|
||||
|
||||
mydata = {}
|
||||
|
||||
mydata['comment'] = str(comment)
|
||||
mydata['date_update'] = str(datetime.now())
|
||||
mydata['update_by'] = str(my_partner['_id'])
|
||||
|
||||
query_key = {}
|
||||
query_key['_id'] ={'$in':tab_ids_splited_Objectid}
|
||||
query_key['partner_owner_recid'] = str(partner_recid)
|
||||
query_key['valide'] = "1"
|
||||
query_key['locked'] = "0"
|
||||
|
||||
|
||||
print(" #### query_key = ", query_key)
|
||||
print(" #### mydata = ", mydata)
|
||||
|
||||
coll_emargement = MYSY_GV.dbname['emargement']
|
||||
local_ret_val = coll_emargement.find_one_and_update(
|
||||
query_key,
|
||||
{"$set": mydata},
|
||||
upsert=False,
|
||||
return_document=ReturnDocument.AFTER
|
||||
)
|
||||
|
||||
|
||||
return True, "La mise à jour a été correctement faite"
|
||||
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 mettre à jour l'émargement"
|
||||
|
||||
|
||||
"""
|
||||
Recuperer les données d'un emargemend donnée
|
||||
"""
|
||||
def Get_Given_Emargement_Data(diction):
|
||||
try:
|
||||
'''
|
||||
# Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
|
||||
# Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
|
||||
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||
# field_list.
|
||||
'''
|
||||
field_list = [ 'token', '_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é, Creation partenaire annulée")
|
||||
return False, "Impossible de créer la liste d'emargement. Toutes les informations fournies ne sont pas valables"
|
||||
|
||||
"""
|
||||
Verification de la liste des champs obligatoires
|
||||
"""
|
||||
field_list_obligatoire = [ 'token', '_id' ]
|
||||
|
||||
for val in field_list_obligatoire:
|
||||
if val not in diction:
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][3]) + " - : La valeur '" + val + "' n'est pas presente dans liste ")
|
||||
return False, "Impossible de créer la liste d'emargement, Toutes les informations necessaires n'ont pas été fournies"
|
||||
|
||||
my_token = ""
|
||||
if ("token" in diction.keys()):
|
||||
if diction['token']:
|
||||
my_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
|
||||
|
||||
partner_recid = str(my_partner['recid'])
|
||||
|
||||
# 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"
|
||||
|
||||
RetObject = []
|
||||
val_tmp = 0
|
||||
|
||||
for New_retVal in MYSY_GV.dbname['survey'].find_one({'_id':ObjectId(str(diction['_id'])),
|
||||
'valide':'1', 'locked':'0',
|
||||
'partner_owner_recid':my_partner['recid']}):
|
||||
user = New_retVal
|
||||
user['id'] = str(val_tmp)
|
||||
val_tmp = val_tmp + 1
|
||||
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
return True, RetObject
|
||||
|
||||
except Exception as e:
|
||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
|
||||
return False, "Impossible de récuperer les données de l'émargement"
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
Cette fonction genere un fichier pdf pour les liste d'emargement
|
||||
"""
|
||||
|
|
27
main.py
27
main.py
|
@ -2347,6 +2347,33 @@ def GerneratePDFEmargementList(token, session_id, internal_url, courrier_modele_
|
|||
|
||||
|
||||
|
||||
"""
|
||||
API pour recuperer les données d'un émargement
|
||||
"""
|
||||
@app.route('/myclass/api/Get_Given_Emargement_Data/', methods=['POST','GET'])
|
||||
@crossdomain(origin='*')
|
||||
def Get_Given_Emargement_Data():
|
||||
# On recupere le corps (payload) de la requete
|
||||
payload = mycommon.strip_dictionary (request.form.to_dict())
|
||||
print(" ### Get_Given_Emargement_Data : payload = ",str(payload))
|
||||
localStatus, message= emargement.Get_Given_Emargement_Data(payload)
|
||||
return jsonify(status=localStatus, message=message )
|
||||
|
||||
"""
|
||||
API pour mettre à jour une liste d'emargement
|
||||
"""
|
||||
@app.route('/myclass/api/Update_Given_Emargement_Data/', methods=['POST','GET'])
|
||||
@crossdomain(origin='*')
|
||||
def Update_Given_Emargement_Data():
|
||||
# On recupere le corps (payload) de la requete
|
||||
payload = mycommon.strip_dictionary (request.form.to_dict())
|
||||
print(" ### Update_Given_Emargement_Data : payload = ",str(payload))
|
||||
localStatus, message= emargement.Update_Given_Emargement_Data(payload)
|
||||
return jsonify(status=localStatus, message=message )
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
API d'Envoie de l'email de confirmation de l'inscription
|
||||
"""
|
||||
|
|
|
@ -411,6 +411,21 @@ pas que les inscrits, (le cas de enseignants), on va rajouter
|
|||
"""
|
||||
def Init_Survey_Tab_For_All_Session_Inscrit(diction):
|
||||
try:
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
"""
|
||||
Verification des input acceptés
|
||||
"""
|
||||
field_list = ['session_id', 'token', 'formulaire_id', 'survey_type', 'sending_date', '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"
|
||||
|
||||
|
||||
field_list_obligatoire = ['session_id', 'token', 'formulaire_id', 'survey_type', 'sending_date']
|
||||
|
||||
for val in field_list_obligatoire:
|
||||
|
@ -503,8 +518,8 @@ def Init_Survey_Tab_For_All_Session_Inscrit(diction):
|
|||
server_diction['survey_type'] = diction['survey_type']
|
||||
server_diction['sending_date'] = diction['sending_date']
|
||||
|
||||
server_diction['related_collection'] = "inscription"
|
||||
server_diction['related_collection_id'] = str(local_Insc_retval['_id'])
|
||||
server_diction['related_collection'] = str(diction['related_collection'])
|
||||
server_diction['related_collection_id'] = str(diction['related_collection_id'])
|
||||
|
||||
|
||||
local_status, local_retval = Create_One_Survey_To_Inscrit(server_diction)
|
||||
|
@ -709,6 +724,23 @@ Cette fonction envoi un formulaire pour inscrit
|
|||
"""
|
||||
def Create_One_Survey_To_Inscrit(diction):
|
||||
try:
|
||||
|
||||
diction = mycommon.strip_dictionary(diction)
|
||||
|
||||
"""
|
||||
Verification des input acceptés
|
||||
"""
|
||||
field_list = ['session_id', 'token', 'inscrit_id', 'formulaire_id', 'survey_type', 'sending_date', 'related_collection',
|
||||
'related_collection_id', 'class_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"
|
||||
|
||||
|
||||
field_list_obligatoire = ['session_id', 'token', 'inscrit_id', 'formulaire_id', 'survey_type', 'sending_date']
|
||||
|
||||
for val in field_list_obligatoire:
|
||||
|
@ -789,6 +821,11 @@ def Create_One_Survey_To_Inscrit(diction):
|
|||
3]) + " L'identifiant de l'inscrit est invalide ")
|
||||
return False, " L'identifiant de l'inscrit est invalide "
|
||||
|
||||
related_collection = ""
|
||||
related_collection_id = ""
|
||||
if( "related_collection" in diction.keys() and "related_collection_id" in diction.keys()):
|
||||
related_collection = diction['related_collection']
|
||||
related_collection_id = diction['related_collection_id']
|
||||
|
||||
|
||||
new_survey_data = {}
|
||||
|
@ -801,6 +838,10 @@ def Create_One_Survey_To_Inscrit(diction):
|
|||
new_survey_data['session_id'] = str(diction['session_id'])
|
||||
new_survey_data['class_id'] = str(my_class_data['_id'])
|
||||
new_survey_data['survey_type'] = str(diction['survey_type'])
|
||||
|
||||
new_survey_data['related_collection'] = str(related_collection)
|
||||
new_survey_data['related_collection_id'] = str(related_collection_id)
|
||||
|
||||
new_survey_data['date_envoi'] = ""
|
||||
new_survey_data['automatique_sending_request_date'] = str(diction['sending_date'])
|
||||
new_survey_data['automatique_traitement'] = "1"
|
||||
|
|
Loading…
Reference in New Issue