Catégories:
Bonjour,
Pour une association de parents d’élèves, je développe un petit site très simple avec Drupal 7. Globalement, le site est structuré autour d’un menu à 2 niveaux, comme ceci :
-
Ecole primaire
+ Lien 1 => Page primaire1
+ Lien 2 => Page Primaire2 -
Collège
+ Lien 1 => Page collège1
+ Lien 2 => Page collège2 -
Lycée
+ Lien 1 => Page Lycée1
+ Lien 2 => Page Lycée2
Jusque là, pas de problème.
Ce que je voudrais désormais faire, c’est par exemple créer un rôle adm_college (là encore pas de problème), qui ne puisse modifier que les pages du collège (pages Collège1 et Collège2) dans mon exemple, ou qui ne puisse créer de nouvelles pages que rattachées au menu Collège.
Est-ce possible ?
Par avance, merci pour votre aide
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Oui c’est possible assez facilement.
En créant un type de contenu par catégorie (primaire, collège, lycée), on peut facilement restreindre les droits de création/mise à jour à un rôle donné, via la page des permissions.
vincent59
2594
Merci Vincent pour ta réponse.
En fait, j’ai déjà créé via le module Taxonomy un vocabulaire Catégorie avec 3 valeurs, (Primaire/Collège/Lycée) et j’ai affecté à chaque page la catégorie correspondante.
Par contre, je n’utilise actuellement que des «pages» (au sens Drupal. Dans l’installation par défaut, il y a 2 types de contenus ; les pages et les articles).
Dans la page de gestion des droits par rôle, j’ai effectivement des paramètres du type : peut créer une page, peut modifier une page,…). Mais, sauf erreur de ma part, en ce qui concerne les modifications, je n’ai pas vu de paramètre du type : peut modifier une page dont la catégorie est : «PRIMAIRE».
Je n’ai pas non plus trouvé comment restreindre la possibilité d’affecter une page donc la catégorie est PRIMAIRE à la seule entrée du menu «Primaire»
Enfin, pour un utilisateur n’appartenant qu’au groupe adm_primaire, quand il crée une nouvelle page, il faudrait que la catégorie correspondante (PRIMAIRE) soit automatiquement affectée. Mais si l’utilisateur appartient à plusieurs rôles (par exemple PRIMAIRE et COLLEGE), alors il faudrait qu’il ait le choix entre ces 2 catégories, et qu’il puisse du coup rattacher sa page à l’un des 2 menus PRIMAIRE et COLLEGE, mais pas LYCEE.
A vrai dire, j’ai déjà pensé à une stratégie ; sous Drupal 7, il est facile de créer des nouveaux types de documents. Je pourrais créer des types page_primaire, page_college et page_lycee. Dans ce cas, je réponds à une partie de mon besoin. En effet, pour chacun de ces types de documents, je pourrais affecter la catégorie par défaut. Et là, je vois mieux comment définir les droits pour chaque rôle. Mais cette stratégie me pose 2 problèmes :
1- les pages sont déjà réalisée avec le type «page». Cela m’oblige à toutes les recréer avec le nouveau type adéquat (page_collège, page_lycée,…). J’avoue que j’aurais aimé faire l’économie de recréer toutes ces pages. S’il y a une astuce (même si ça passe par une modification «manuelle» dans la base MySQL), je suis preneur…
2- Ca ne résoud pas mon problème d’affectation dans le menu. Comment restreindre le type page_collège à ne pouvoir être rattaché que sous le menu Collège correspondant ?
En tous cas, encore une fois, merci pour cette réponse qui me laisse espérer une solution.
jhashe
6
Je parlais bien de créer 3 types de contenu (en plus des pages et Article).
Par défaut, les permissions fonctionnent uniquement sur le type de contenu.
Effectivement, si le contenu est déjà saisi, ça va poser problème. Il faut trouver une solution pour convertir d’un type vers un autre. Peut-être NodeConvert ? http://drupal.org/project/node_convert
=> à tester sur une instance de Dev avant, bien sûr.
La documentation se trouve ici : http://drupal.org/node/291564
Pour l’affectation à un menu, si le type de contenu est lié à une taxonomie par défaut, si l’utilisateur choisit le bon type de contenu, il va venir se placer dans le bon menu.
vincent59
2594