Bonjour, j’essaie d’importer des utilisateurs selon différents rôles mais les menus que j’entre dans mon csv ne sont pas pris en compte. Quand je les met manuellement, les menus apparaissent dans la barre de navigation mais quand je clique dessus on me dit que l’utilisateur n’est pas autorisé à lire la ressource avec que les permissions sont définies.
Voici mes fichiers d’import (axelor-base>src>main>ressources>data-init) et mon fichier de conf:
J’ai ajouté la ligne en bleu pour importer les menus:
J’ai vu qu’il y avait un assistant pour importer les menus selon les groupes configurés:
Cependant, une fois mes menus sélectionnés, je clique sur « importer », l’import est réussi mais mes utilisateurs ne peuvent toujours pas voir les menus…
Merci de votre aide
Bonjour,
Petite question: vos menus apparaissent-ils bien dans Administration / Gestion des vues / Menus après votre import ?
Ce qu’il faut déterminer c’est si le problème vient de l’import des menus ou de l’assignation des ces menus aux groupes. Pouvez-vous partager le fichier auth_group.csv que vous utilisez ?
Autre question: de quelle manière importez-vous les menus ? avec un CSV (je ne le vois pas dans le fichier de config) ou via un XML dans [domain] ?
Cdlt
Bonjour, désolé, je n’ai pas été clair, je n’ai pas touché à la config initiales des menus d’axelor. Le problème est dans la configuration des menus dans les rôles
Peut être que je fais fausse route et que les menus doivent êtres entrés dans la colonne « menu_set » de auth-group? C’est sûrement ça, mais du coup, à quoi servent les rôles?
En fait vous avez le choix d’associer les menus soit aux groupes soit aux rôles. Il est vrai que cette notion de user/group/role peut paraître confus mais elle permet de la souplesse de gestion en terme de droits.
Comme un utilisateur ne peut avoir q’une seul groupe et qu’un groupe peut avoir plusieurs rôles l’idéal est de creer vos propres roles et d’y associer vos menus . Ainsi, vous définissez les menus via les rôles et vous associer les rôles à vos groupes. N’oubliez pas les permissions par la même occasion
Premez en exemple axelor-base/data-init/meta_metaMenu.csv et l’entrée dans input-config
C’est donc dans ce fichier magique qu’il faut mettre les rôles autorisés à voir chaque menu !!
Parce que j’ai essayé même manuellement de mettre les menus autorisés sur un utilisateur et ça ne fonctionnait pas non plus. Je vais essayer du coup de mettre mes rôles directement dan meta_metaMenu.csv merci beaucoup
je vous conseille, pour une question de visibilité et d’update, d’utiliser vos propres fichiers pour gérer vos besoins afin d’éviter tout conflit lors des mises à jour. Il vous suffit pour cela de créer un nouveau fichier et de cloner la ligne de config…ça vous évitera bien des problèmes
N’oubliez pas non plus d’associer les rôles à vos groupes / utilisateurs
J’ai du ajouter ça à input-config pour qu’il puisse prendre en compte plusieurs roles:
avec un fichier meta_metaMenu.csv de cette forme:
Quand je vais dans administration>Les Menus sur Axelor, avant j’avais « admin » et maintenant je n’ai plus aucun rôle. J’ai du me planter dans ma ligne sur le fichier de config…
Mes rôles sont bien présents dans mes groupes et dans mes utilisateurs.
J’utilise le plugin Git sur Eclipse pour gérer ma version et je prévois de rebase sur les mises à jour d’Axelor, est-ce que je fais fausse route? Je suis très novice dans le domaine
C’est déjà le cas dans le fichier de config d’origine, la premiere ligne vient mettre à jour le module axelor-base et la deuxième le module axelor-core
Où et comment je dois intégrer cette syntaxe du coup pour éviter de devoir préciser les colonnes?
<input file="meta_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name and self.module = 'axelor-base'" update="true" >
<bind column="roles.name" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
</input>
Merci beaucoup
Vous avez raison, je n’avais même pas relevé ce détail.
Je pense que l’erreur est ici:
remplacer ça
<bind column="roles" to="roles.name" search="self.name in :roles" eval="roles != null ? roles.split('\\|') as List : []"/>
par ça
<bind column="roles" to="roles" search="self.name in :roles" eval="roles != null ? roles.split('\\|') as List : []"/>
pour moi ça fonctionne très bien
Merci beaucoup je teste ça après manger!