Permissions: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
No edit summary
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Permissions_En".)
 
(41 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Chaque permission se voit affecter un id unique, cet id se décompose en 2 partie, la partie mineur qui identifie le droit dans sa classe et la partie majeure qui identifie la classe (famille de droits). La partie mineure et codée de 0 à 9, la partie majeure est codée à partir de 1.
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : Permissions_En -->
[[en:Permissions_En]]
[[es:Permisos]]
[[zh:用户权限]]
<!-- END interlang links -->


Avant de créer de nouvelles permissions les développeurs doivent compléter ce document c'est lui et lui seul qui fait office de réservation et d'inventaire des classes retenues
[[Category:Noyau]]
{{TemplateDocDev}}


Identification des classes :
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]]).


Tableau d'identification des classes


* 1 - [[Module Facture]]
 
* 2 - [[Module Propositions commerciales]]
= Récuperer les droits et groupes d'un utilisateur =
* 3 - [[Module Produits]]
Dans une page de code Dolibarr, l'objet global $user est automatiquement défini.
* 4 - [[Module Projets]]
Il contient les informations sur l'utilisateur courant.
* 5 - Gestion utilisateurs
Ces droits sont accessibles par un test
* 6 - [[Module Fiches d'intervention]]
<source lang="php">
* 7 - [[Module Adhérents]]
if ($user->rights->module->codestringlevel1->codestringlevel1)
* 8 - [[Module Commandes]]
</source>
* 9 - [[Module Comptabilité]]
 
* 10 - [[Module Expedition]]
Pour connaitre les groupes d'utilisateurs auxquels un utilisateur donné appartient, on peut utiliser le code suivant (Dolibarr 2.5 ou plus):
* 11 - [[Module Banque]]
<source lang="php">
* 12 - [[Module Société]]
$usergroup=new UserGroup($db);
* 13 - [[Module Caisse]]
$listofgroups=$usergroup->listGroupsForUser($fuser);
* 14 - [[Module Téléphonie]]
print $listofgroups[0]->nom;
* 15 - [[Module Prélèvements bancaires]]
</source>
* 16 - [[Module Contrat]]
$listofgroups étant un tableau de tous les objets UserGroups (les groupes) auxquels appartient l'utilisateur $fuser
* 17 - [[Module Fournisseur]]
et $fuser étant un objet User chargé par
* 18 - [[Module Fournisseur]] commandes
<source lang="php">
* 19 - [[Module Téléphonie]] lignes
$fuser=new User($db);
* 20 - [[Module Téléphonie]] lignes ADSL
$fuser->fetch('login');
Extrait de la table des permissions :
</source>
<pre>
 
    +-----+---------------------------------------------------+------------+------+-----------+
= Tableau d'identification des permissions =
    |  id | libelle                                          | module     | type | bydefault |
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.
    +-----+---------------------------------------------------+------------+------+-----------+
 
    |  10 | Tous les droits sur les factures                  | facture    | a    |        0 |
Cliquez [[:Category:Liste des Modules|ici pour consulter la liste des modules]] (et choississez la version développeur de la documentation pour connaitre la liste des permission du module).
    |  11 | Lire les factures                                | facture    | r    |        1 |
    |  12 | Créer modifier les factures                      | facture    | w    |        0 |
    |  14 | Valider les factures                              | facture    | d   |        0 |
    |  15 | Envoyer les factures aux clients                  | facture    | d    |        0 |
    |  16 | Emettre des paiements sur les factures            | facture    | d    |        0 |
    |  19 | Supprimer les factures                            | facture    | d    |        0 |
    |  20 | Tous les droits sur les propositions commerciales | propale    | a    |        0 |
    |  21 | Lire les propositions commerciales                | propale    | r    |        1 |
    |  22 | Créer modifier les propositions commerciales      | propale    | w    |        0 |
    |  24 | Valider les propositions commerciales            | propale    | d    |        0 |
    |  25 | Envoyer les propositions commerciales aux clients | propale    | d    |        0 |
    |  26 | Clôturer les propositions commerciales            | propale    | d    |        0 |
    |  27 | Supprimer les propositions commerciales          | propale    | d    |        0 |
    |  30 | Tous les droits sur les produits                  | produit    | a    |        0 |
    |  31 | Lire les produits                                | produit    | r    |        1 |
    |  32 | Créer modifier les produits                      | produit    | w    |        0 |
    |  34 | Supprimer les produits                            | produit    | d   |        0 |
    |  40 | Tous les droits sur les projets                  | projet    | a   |        0 |
    |  41 | Lire les projets                                  | projet    | r    |        1 |
    |  42 | Créer modifier les projets                        | projet    | w    |        0 |
    |  44 | Supprimer les projets                            | projet    | d    |        0 |
    |  60 | Tous les droits sur les fiches d'intervention    | ficheinter | a    |        0 |
    |  61 | Lire les fiches d'intervention                    | ficheinter | r    |        1 |
    |  62 | Créer modifier les fiches d'intervention          | ficheinter | w    |        0 |
    |  64 | Supprimer les fiches d'intervention              | ficheinter | d    |        0 |
    |  90 | Tous les droits sur la compta                    | compta    | a    |        0 |
    |  91 | Lire les charges                                  | compta    | r    |        1 |
    | 92 | Créer modifier les charges                        | compta    | w    |        0 |
    |  93 | Supprimer une charge                              | compta    | d    |        0 |
    |  95 | Lire CA, bilans, résultats                        | compta    | r    |        1 |
    | 110 | Tous les droits les comptes                      | banque    | a    |        0 |
    | 111 | Lire les comptes                                  | banque    | r    |        1 |
    | 112 | Créer modifier rapprocher transactions            | banque    | w    |        0 |
    | 113 | Configurer les comptes (créer, gérer catégories)  | banque    | w    |        0 |
    | 120 | Tous les droits sur les sociétés                  | societe    | a    |        0 |
    | 121 | Lire les sociétés                                | societe    | r    |        1 |
    | 122 | Créer modifier les societes                      | societe    | w    |        0 |
    | 129 | Supprimer les sociétés                            | societe    | w    |        0 |
    | 130 | Tous les droits les caisses liquides              | caisse    | a    |        0 |
    | 131 | Lire les caisses                                  | caisse    | r    |        1 |
    | 132 | Créer modifier transactions                      | caisse    | w    |        0 |
    | 133 | Configurer les caisses (créer, supprimer)         | caisse    | w    |        0 |
    +-----+---------------------------------------------------+------------+------+-----------+
</pre>

Latest revision as of 13:21, 23 July 2019

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.

Cliquez ici pour consulter la liste des modules (et choississez la version développeur de la documentation pour connaitre la liste des permission du module).