Validation 19/03/22 - 14h21

master
ChérifBALDE 2022-03-19 15:45:48 +01:00 committed by cherif
parent 102bc13cee
commit aed7de6e53
2 changed files with 120 additions and 10 deletions

View File

@ -116,7 +116,8 @@ def get_user_objectif(diction):
return True, RetObject
except Exception as e:
mycommon.myprint(str(inspect.stack()[0][3]) + str(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 recuperer les objectifs de l'utilisateur"
@ -200,7 +201,8 @@ def desable_user_objectif(diction):
return False, "impossible de desactivier cette formation"
except Exception as e:
mycommon.myprint(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 desactivier cette formation"
@ -316,7 +318,8 @@ def add_update_user_objectif(diction):
return True, " L'objectif a bien été créé"
except Exception as e:
mycommon.myprint(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 les objectifs utilisateur"
@ -391,7 +394,8 @@ def add_user_account(diction):
return True, "Le compte a été bien ajouté, merci de l'activer depuis votre boite email"
except Exception as e:
mycommon.myprint(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 le compte utilisateur"
@ -427,7 +431,8 @@ def valide_user_account(value):
except Exception as e:
mycommon.myprint(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 valider le compte utilisateur"
@ -760,7 +765,8 @@ def change_user_pwd(diction):
except Exception as e:
mycommon.myprint(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 le mot de passe de l'utilisateur"
@ -846,7 +852,8 @@ def change_uer_email(diction):
except Exception as e:
mycommon.myprint(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 l'email principal"
@ -931,7 +938,8 @@ def delete_user_account(diction):
except Exception as e:
mycommon.myprint(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 le compte utilisateur"
@ -1001,7 +1009,8 @@ def lock_user_account(diction):
return False, "Impossible de verrouiller le compte utilisateur"
except Exception as e:
mycommon.myprint(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 le compte utilisateur"
@ -1073,5 +1082,93 @@ def desable_user_account(diction):
return False, "Impossible de desactiver le compte utilisateur"
except Exception as e:
mycommon.myprint(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 le compte utilisateur"
'''
Cette fonction retourne l'historique de recherche
d'un utilisateur
'''
def get_user_recherche_history(diction):
try:
# Dictionnaire des champs utilisables
'''
# 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']
incom_keys=diction.keys()
for val in incom_keys:
if val not in field_list:
mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '"+val+"' n'est pas autorisé, opération annulée")
return False, "Impossible de recuperer l'historique de recherche"
'''
Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
On controle que les champs obligatoires sont presents dans la liste
'''
field_list_obligatoire = ['token']
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 recuperer l'historique de recherche"
# recuperation des paramettre
token_value = ""
user_recid = ""
mydata = {}
if diction['token']:
token_value = diction['token']
# Verification de la validité du token/mail dans le cas des user en mode connecté
if (len(str(token_value)) <= 0):
mycommon.myprint(str(inspect.stack()[0][3]) + " Le token est vide")
return False, "Le token est vide"
retval = mycommon.check_token_validity("", token_value)
if retval is False:
mycommon.myprint(str(inspect.stack()[0][3]) + " Le token n'est pas valide")
return False, "Le token n'est pas valide"
# Recuperation du recid du user
user_recid = mycommon.get_user_recid_from_token(token_value)
if user_recid is False:
mycommon.myprint(str(inspect.stack()[0][3]) + " Impossible de recuperer le recid du user")
return False, " Impossible de mettre à jour le mot de passe"
query = {}
query['user_recid'] = user_recid
query['valide'] = '1'
coll_name = dbname['user_recherche']
# Verification si ce user a deja une formation du meme nom
tmp = coll_name.find(query, {"_id": 0}).count()
if (tmp <= 0):
mycommon.myprint(str(inspect.stack()[0][3]) + " Aucun resultat trouvé pour " + str(query))
return False, " Impossible de recuperer l'historique de recherche de l'utilisateur"
RetObject = []
local_id = 0
for retVal in coll_name.find(query, {"_id": 0, "valide":0, "user_recid":0}):
mycommon.myprint(retVal)
user = retVal
user['id'] = local_id
local_id = local_id + 1
RetObject.append(JSONEncoder().encode(user))
return True, RetObject
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
return False, "Impossible de recuperer l'historique de recherche"

13
main.py
View File

@ -147,6 +147,19 @@ def desable_user_objectif():
'''
Cette API recupere l'historique de recherche
d'un utilisateur
'''
@app.route('/myclass/api/get_user_recherche_history/', methods=['POST','POST'])
@crossdomain(origin='*')
def get_user_recherche_history():
# On recupere le corps (payload) de la requete
payload = request.form.to_dict()
print(" ### payload = ",payload)
status, retval = eua.get_user_recherche_history(payload)
return jsonify(status=status, message=retval)
'''
Cette API ajoute un objectif à un utilisateur