28/09/23 - 23h

master
cherif 2023-09-28 22:22:25 +02:00
parent 8c5bbc4532
commit 7eb04d433f
4 changed files with 1613 additions and 8 deletions

View File

@ -3,12 +3,7 @@
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="26/09/23 - 23h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/email_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/email_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_document_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_document_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partners.py" beforeDir="false" afterPath="$PROJECT_DIR$/partners.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_humaines.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_humaines.py" afterDir="false" />
</list>

File diff suppressed because it is too large Load Diff

View File

@ -1064,7 +1064,7 @@ def getRecodedParnterImage_from_front(diction=None):
RetObject.append(JSONEncoder().encode(partner_images))
print(" ### getRecodedParnterImage_from_front RetObject = ", RetObject)
#print(" ### getRecodedParnterImage_from_front RetObject = ", RetObject)
return True, RetObject
except Exception as e:
@ -1079,7 +1079,15 @@ def getRecodedParnterImage_from_front(diction=None):
Login du partenaire avec
- mail
- passwd
- cle secrete qui est son token fixe'''
- cle secrete qui est son token fixe.
/!\ update du 28/09/2023 :
Cette fonction retourne les droits d'acces de l'utilisateur
dans une champ : 'user_acces_right', idealement sous forme JSON
Cette info sera stocké et exploiré sous forme de cookie chez le client.
Ce cookie sera prefixé du token du client, ceci pour rendre cette valeur unique non copiable
'''
def partner_login(diction):
try:
@ -1159,6 +1167,9 @@ def partner_login(diction):
{'email': email, 'pwd': pwd, 'locked': '0', 'active': '1'})
partner_recid = my_partner['recid']
ressource_humaine_id = ""
if ( "ressource_humaine_id" in my_partner.keys()):
ressource_humaine_id = my_partner['ressource_humaine_id']
# A ce niveau le login et passe sont ok.
# il faut donc créer le token et renvoyer le token.
@ -1227,9 +1238,35 @@ def partner_login(diction):
print(" ### token partner = ", str(my_token))
"""
Update du 28/09/2023 :
Recuperation de la matrice des droits de l'utilisateur qui vient de se connecter
"""
return_data['user_access_right'] = []
qry = {'valide':'1', 'locked':'0','partner_owner_recid':str(partner_recid),'user_id':str(ressource_humaine_id)}
print(" #### qry = ", qry)
for retval in MYSY_GV.dbname['user_access_right'].find(qry):
local_access_right = {}
if( 'module' in retval.keys()):
local_access_right['module'] = retval['module']
if ('read' in retval.keys()):
local_access_right['read'] = retval['read']
if ('write' in retval.keys()):
local_access_right['write'] = retval['write']
return_data['user_access_right'].append(local_access_right)
RetObject = []
print(" #### partner_login : return_data = ", return_data)
RetObject.append(JSONEncoder().encode(return_data))
return True, RetObject

View File

@ -31,7 +31,10 @@ import email_mgt as email
"""
Cette fonction crée le compte employé administrateur.
Ceci est fait à l'activation du compte, donc à ce moment il n'y pas de token de connexion.
D'ou la creation d'une fonction à part
D'ou la creation d'une fonction à part.
Apers la creation du compte, il faut ajouter les droits sur tous les module en read/read
dans la collection : 'user_access_right'
"""
def Add_Partner_Admin_Ressource_Humaine_No_Toke(diction):
@ -133,6 +136,32 @@ def Add_Partner_Admin_Ressource_Humaine_No_Toke(diction):
{'$set': {'ressource_humaine_id': str(inserted_id)}})
"""
Apres la creation de l'employé, il faut ajouter les droit admin au compte
"""
for retval in MYSY_GV.dbname['application_modules'].find({'valide':'1', 'locked':'0'}):
data_to_add = {}
data_to_add['partner_owner_recid'] = str(partner_recid)
data_to_add['module_name'] = retval['module_name']
data_to_add['module'] = retval['module_name']
data_to_add['user_id'] = str(inserted_id)
data_to_add['read'] = True
data_to_add['write'] = True
data_to_add['valide'] = "1"
data_to_add['locked'] = "0"
data_to_add['date_update'] = str(datetime.now())
MYSY_GV.dbname['user_access_right'].find_one_and_update(
{'user_id': str(inserted_id), 'module_name': str(retval['module_name'])},
{"$set": data_to_add},
return_document=ReturnDocument.AFTER,
upsert=True,
)
return True, str(inserted_id)
except Exception as e: