bonjour , j’aurais une petite question quelqu’un pourrai m’expliquer , la démarche pour rajouter des droits utilisateurs …svp je comprend pas trop avec le wiki merci
Quelle page du wiki, stp ?
(quel lien ?)
Le wiki sur le paramétrage des utilisateurs ?
Celui sur le paramétrage sécurité ?
Dans tous les cas, quel(s) passage(s) n’est ou ne sont pas clair(s) ?
Bonjour merci de votre réponse , mais enfaite c’est plus pour définir les droits d’utilisateur quand on à créé un module voilà l’exemple
$this-\>rights[$r][0] = 10001;
$this-\>rights[$r][1] = 'Libelle par défaut de ma permission';
$this-\>rights[$r][3] = 1;
$this-\>rights[$r][4] = 'action';
$this-\>rights[$r][5] = 'sousaction';
$r++;
alors ou je comprend pas c’est à quoi corresponde ‹ action › et ‹ sousaction › …
if ($user->rights->monmodule->action->sousaction) et voilà le test à mettre dans les script la pas de souci … merci
bonjour , voilà j’ai essayé de voir alors je créer sa dans le descripteur
[code type=php]$this->rights = array();
$this->rights_class = ‹ contratmaintenance ›;
$this-\>rights[$r][0] = 4001;
$this-\>rights[$r][1] = 'Lire les contrats';
$this-\>rights[$r][3] = 1;
$this-\>rights[$r][4] = 'lire';
$r++;[/code]
mais il n’y a rien qui apparait dans dolibarr permission utilisateur ? je dois avoir raté quelque chose si vous pouviez me dire ou svp . merci
Tu as bien initialisé $r à 0 ?
Normalement les droits fonctionnent avec plusieurs niveaux (tu as les droits qui concerne ton compte et ceux qui concernent tous les comptes) et ca se met sous la forme $user->rights->contratmaintenance->myactions->lire
$this->rights = array();
$r = 0;
$this->rights_class = 'contratmaintenance';
$this->rights[$r][0] = 4001;
$this->rights[$r][1] = 'Lire les contrats';
$this->rights[$r][3] = 1;
$this->rights[$r][4] = 'lire';
$this->rights[$r][5] = 'myactions';
$r++;
Et il faut bien sur désactiver/réactiver le module que ce soit pris en compte.
$this->rights[$r][0] = 4001;
ce numéro doit être à la suite du numéro de module que tu as déclaré et ne doit pas être en conflit avec les numéro de module et numéro de droit existant.
je te conseilles d’utiliser un numéro élevé
exemple:
numéro de module : 130600
les droits : 130601, 130602, etc…
ensuite tu définis comme ceci
$this->rights[$r][1] = ‹ Lire les contrats ›;
$this->rights[$r][3] = 1;
$this->rights[$r][4] = ‹ read ›; // l’anglais est préféré
ceci donnera un droit :
$user->rights->mymodule->read
si tu veux donner des sous droits, quand par exemple ton module est découpé en diverses fonctionnalités
$this->rights[$r][1] = ‹ Sous droit ›;
$this->rights[$r][3] = 1;
$this->rights[$r][4] = ‹ mysection ›
$this->rights[$r][5] = ‹ read ›;
ceci donnera :
$user->rights->mymodule->mysection->read
merci , pour l’info la déclaration marche , mais ou retrouver c’est infos dans dolibarr …car dans la parti permission utilisateur mon contratmaintenance n’apparaît pas ? il faut pourtant bien définir si l’utilisateur peur ou non exécuter l’action avec de la testé non
Je viens de comprendre , voici l’endroit ou le wiki nous dis de mettre le descripteur
htdocs/monmodule/core/modules/ doit contenir le fichier descripteur de module : modMonModule.class.php
et quand on créer donc ceci dans le descypteur :[code type=php]// Permissions
$this->rights = array();
$this->rights_class = ‹ contratmaintenance ›; // Key text used to identify module (for permissions, menus, etc…)
$r=0;
$this-\>rights[$r][0] =130601;
$this-\>rights[$r][1] = 'Lire les contrats';
$this-\>rights[$r][3] = 1;
$this-\>rights[$r][4] = 'read'; // l'anglais est préféré
$r++;[/code]
tout sa fonctionne correctement sauf que dans le fichier « perms.php » qui ce trouve dans le dossier « htdocs/user/ »
ne cherche pas du tout les descripteurs de module dans le type de dossier donné ci-dessus …mais ici $modulesdir[] = $dirroot . "/core/modules/";
alors du coup il y a peux de chance que sa la permission apparaît dans l’affichage des permissions utilisateur , comment faire pour régler ce problème ? à part bien sur modifier le liens dans « perms.php »
il doit y avoir un autre soucis car on va bien chercher à la fois dans /core/modules de dolibarr et dans /mymodule/core/modules
tu as bien désactivé/réactivé le module pour que les droits soit pris en compte ?
J’ai le même soucis
je doit ajouter dans perms.php
$modulesdir[] = $dirroot . "/core/modules/";
$modulesdir[] = $dirroot . "/monmodule/core/modules/"; //ligne ajoutée
pour qu’il me donne accès à la gestion des droits
une solution plus élégante existe ? (sans devoir modifier perms.php)