19/04/22 - 23h30
parent
64822da525
commit
d41614d78a
|
@ -210,8 +210,6 @@ def desable_user_objectif(diction):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def add_update_user_objectif(diction):
|
def add_update_user_objectif(diction):
|
||||||
try:
|
try:
|
||||||
client = MongoClient(CONNECTION_STRING)
|
client = MongoClient(CONNECTION_STRING)
|
||||||
|
@ -1100,7 +1098,6 @@ Cette fonction retourne l'historique de recherche
|
||||||
d'un utilisateur
|
d'un utilisateur
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
def get_user_recherche_history(diction):
|
def get_user_recherche_history(diction):
|
||||||
try:
|
try:
|
||||||
# Dictionnaire des champs utilisables
|
# Dictionnaire des champs utilisables
|
||||||
|
@ -1181,3 +1178,117 @@ def get_user_recherche_history(diction):
|
||||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
||||||
return False, "Impossible de recuperer l'historique de recherche"
|
return False, "Impossible de recuperer l'historique de recherche"
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Cette Function permet de gerer la reunitialisation du passwd
|
||||||
|
à la demande de l'utilisateur : exemple : mot de passe oublié.
|
||||||
|
|
||||||
|
que fait elle exactement :
|
||||||
|
|
||||||
|
0 - Desactivation de toutes les entrée dans la table : user_token pour le mail, s'il est valide
|
||||||
|
1 - elle crée une entrée dans la table : user_token
|
||||||
|
- recid
|
||||||
|
- email
|
||||||
|
3 - envoyer un mail au user (si valide) avec le token : /ResetUserPwd/:tokenx
|
||||||
|
'''
|
||||||
|
def InitUserPasswd(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 = ['email']
|
||||||
|
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 reinitialiser le mot de passe de l'utiilisateur"
|
||||||
|
|
||||||
|
'''
|
||||||
|
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 = ['email']
|
||||||
|
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 reinitialiser le mot de passe de l'utiilisateur"
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Verification de la valider de l'email
|
||||||
|
'''
|
||||||
|
myemail = ""
|
||||||
|
myquery = {}
|
||||||
|
if ("email" in diction.keys()):
|
||||||
|
if diction['source']:
|
||||||
|
myemail = diction['source']
|
||||||
|
myquery['email'] = diction['source']
|
||||||
|
|
||||||
|
|
||||||
|
myquery['active'] = '1'
|
||||||
|
myquery['locked'] = '0'
|
||||||
|
|
||||||
|
|
||||||
|
coll_name = dbname['user_account']
|
||||||
|
|
||||||
|
tmp = coll_name.count_documents(myquery)
|
||||||
|
|
||||||
|
if (tmp <= 0):
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " Aucun resultat trouvé pour " + str(myquery))
|
||||||
|
return False, "Impossible de reinitialiser le mot de passe de l'utiilisateur"
|
||||||
|
|
||||||
|
|
||||||
|
RetObject = []
|
||||||
|
local_id = 0
|
||||||
|
retVal = coll_name.find(myquery, {"_id": 0, "valide": 0, "user_recid": 0})
|
||||||
|
|
||||||
|
print(" le recid = "+retVal['recid'])
|
||||||
|
|
||||||
|
'''
|
||||||
|
Desactivation des tocken actifs
|
||||||
|
'''
|
||||||
|
update_field = {'valide': '0', 'date_update':str(datetime.now())}
|
||||||
|
|
||||||
|
|
||||||
|
coll_name_token = dbname['user_token']
|
||||||
|
ret_val_user_rech = coll_name_token.find_one_and_update(
|
||||||
|
{'recid': retVal['recid']},
|
||||||
|
{"$set": update_field},
|
||||||
|
return_document=ReturnDocument.AFTER
|
||||||
|
)
|
||||||
|
|
||||||
|
if (ret_val_user_rech is False):
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de mettre à jour la table 'user_token' "
|
||||||
|
return False, "Impossible de reinitialiser le mot de passe de l'utiilisateur "
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Insertion du nouveau token
|
||||||
|
'''
|
||||||
|
new_token = {}
|
||||||
|
new_token['email'] = retVal['email']
|
||||||
|
new_token['recid'] = retVal['recid']
|
||||||
|
new_token['date_update'] = str(datetime.now())
|
||||||
|
new_token['valide'] = '1'
|
||||||
|
|
||||||
|
|
||||||
|
ret_val_tmp = coll_name_token.insert_one(new_token)
|
||||||
|
if (ret_val_tmp is False):
|
||||||
|
mycommon.myprint(str(inspect.stack()[0][3]) + " - Impossible de créer le nouveau toek")
|
||||||
|
return False, "Impossible de reinitialiser le mot de passe de l'utiilisateur "
|
||||||
|
|
||||||
|
send email a faire
|
||||||
|
|
||||||
|
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 reinitialiser le mot de passe de l'utiilisateur"
|
||||||
|
|
Loading…
Reference in New Issue