Each permission has a unique ID. All permissions managed by Dolibarr are saved into Table llx_rights_def and has its own ID. This id is used to make link between a user and the permission (links are saved into Table llx_user_rights or to make link between group and the permission (links are saved into the Table llx_usergroup_rights).
Get permission and groups of a user
In the source code of a Dolibarr page, the global object $user is automatically defined. It contains all informations of the current user. Its permissions can be tested by a test
To know list of groups in which a user is, you can use the following code (Dolibarr 2.5 or more):
$usergroup=new UserGroup($db); $listofgroups=$usergroup->listGroupsForUser($fuser); print $listofgroups->nom;
$listofgroups is an array of all objects UserGroups (the groups) where the user $fuser belongs to and $fuser is the object User loaded with code
$fuser=new User($db); $fuser->fetch('login');
Array of available permissions
Each module has its code string to use the $user->rights array to get its related permissions for user. List of code to use to read permissions are available of module developer documentation.
Click here to get full list of modules (and choose the developer version of module documentation to get list of possible permissions).