19/04/22 - 23h30
parent
64822da525
commit
d41614d78a
|
@ -210,8 +210,6 @@ def desable_user_objectif(diction):
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
def add_update_user_objectif(diction):
|
||||
try:
|
||||
client = MongoClient(CONNECTION_STRING)
|
||||
|
@ -1100,7 +1098,6 @@ Cette fonction retourne l'historique de recherche
|
|||
d'un utilisateur
|
||||
'''
|
||||
|
||||
|
||||
def get_user_recherche_history(diction):
|
||||
try:
|
||||
# Dictionnaire des champs utilisables
|
||||
|
@ -1181,3 +1178,117 @@ def get_user_recherche_history(diction):
|
|||
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"
|
||||
|
||||
|
||||
'''
|
||||
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