Permissions: Difference between revisions
mNo edit summary |
|||
| Line 10: | Line 10: | ||
Il contient les informations sur l'utilisateur courant. | Il contient les informations sur l'utilisateur courant. | ||
Ces droits sont accessibles par un test | Ces droits sont accessibles par un test | ||
<source lang="php"> | |||
if ($user->rights->module->codestringlevel1->codestringlevel1) | |||
</source> | |||
Pour connaitre les groupes d'utilisateurs auxquels un utilisateur donné appartient, on peut utiliser le code suivant (Dolibarr 2.5 ou plus): | Pour connaitre les groupes d'utilisateurs auxquels un utilisateur donné appartient, on peut utiliser le code suivant (Dolibarr 2.5 ou plus): | ||
<source lang="php"> | |||
$usergroup=new UserGroup($db); | |||
$listofgroups=$usergroup->listGroupsForUser($fuser); | |||
print $listofgroups[0]->nom; | |||
</source> | |||
$listofgroups étant un tableau de tous les objets UserGroups (les groupes) auxquels appartient l'utilisateur $fuser | $listofgroups étant un tableau de tous les objets UserGroups (les groupes) auxquels appartient l'utilisateur $fuser | ||
et $fuser étant un objet User chargé par | et $fuser étant un objet User chargé par | ||
<source lang="php"> | |||
$fuser=new User($db); | |||
$fuser->fetch('login'); | |||
</source> | |||
= Tableau d'identification des permissions = | = Tableau d'identification des permissions = | ||
Revision as of 01:27, 24 August 2009
Chaque permission se voit affecter un id unique. Toutes les permissions gérées dans Dolibarr sont stockées dans la Table llx_rights_def et possède un id. Cet id est aussi utilisé pour faire le lien entre un utilisateur et la permission (liens stockés dans la table Table llx_user_rights ou pour faire un lien entre un groupe et la permission (liens stockés dans la table Table llx_usergroup_rights).
Récuperer les droits et groupes d'un utilisateur
Dans une page de code Dolibarr, l'objet global $user est automatiquement défini. Il contient les informations sur l'utilisateur courant. Ces droits sont accessibles par un test
if ($user->rights->module->codestringlevel1->codestringlevel1)
Pour connaitre les groupes d'utilisateurs auxquels un utilisateur donné appartient, on peut utiliser le code suivant (Dolibarr 2.5 ou plus):
$usergroup=new UserGroup($db);
$listofgroups=$usergroup->listGroupsForUser($fuser);
print $listofgroups[0]->nom;
$listofgroups étant un tableau de tous les objets UserGroups (les groupes) auxquels appartient l'utilisateur $fuser et $fuser étant un objet User chargé par
$fuser=new User($db);
$fuser->fetch('login');
Tableau d'identification des permissions
Chaque module fonctionnel a ses propres chaine code pour consulter le tableau $user->rights et connaitre les permission de l'utilisateurs en rapport avec le module. La liste de ces codes est donné sur la documentation développeur du module.