Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Probleme avec workflow_access et gestion de droits sur un workflow

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous les Drupaliens,

je suis actuellement en train de monter la maquette de ce que pourrait être le site Intranet d'une entreprise (celle dans laquelle travaille mon père en l'occurrence :D ) et après avoir testé Spip et Joomla je suis tombé sur Drupal qui m'a étonné par sa modularité.
En effet sur Spip et Joomla certaines portions sont très peu modifiables ce qui posait un problème pour mes besoins (notamment sur une gestion des droits assez flexible et avancée).

Pour cette maquette j'ai dégagé plusieurs catégories comme :
service presse, service informatique, direction, service commercial etc...
En effet ce site a pour but de représenter chaque service dans une section différente et de permettre de partager les informations.

Pour chaque catégorie j'ai crée un type d'article spécifique afin de pouvoir bien gérer une isolation de l'acces de ces articles en fonction du role utilisateur.

Bref pour éviter que tout le monde poste tout et n'importe quoi j'ai voulu un workflow permettant de mettre un article dans plusieurs états possibles. A savoir que j'ai crée un workflow spécifique à chaque service mais qu'en gros ça ressemble à ça :
Brouillon - Soumis à modération - En attente de publication - Publié

Dans chaque service, on trouve des rédacteurs qui peuvent proposer des articles dans leur section, des publicateurs / correcteurs dont le but est de corriger les articles proposés dans leur propre section également et à ensuite faire suivre l'article en "Attente de publication" si l'article est jugé bon.

Puis des admins, qui seront chargés de s'occuper du site et de publier TOUT article qui était "En Attente de publication".

Bon grâce au module workflow et au module actions j'ai réussi à obtenir les workflow que je voulais, y a aucun problème.

Cependant la coquille vient du module workflow_access qui accompagne le module workflow. Celui-ci est censé pouvoir gérer de façon très fine les droits de chaque role utilisateur sur l'article sur lequel est appliqué le workflow en fonction de l'état actuel dans lequel se trouve l'article.

Exemple : j'ai fait de telle sorte que un rédacteur du service commercial ne puisse créer que des "Articles du service commercial" (à ce niveau c'est dans la gestion des droits de Drupal), puis j'ai configuré dans workflow_access, le fait que ce même rédacteur ne pourra voir que ses articles et ne pourra les éditer que quand l'article est en "Brouillon". Un publicateur/correcteur de ce même service commercial pourra voir et éditer les articles "Soumis à modération".

Mais dans la réalité cela ne se passe pas tout à fait comme ça. Une fois qu'un rédacteur a crée son article et bien qu'il se trouve dans l'état Brouillon, il ne peut pas l'éditer bien qu'il puisse le faire passer à l'état "Soumis à Modération".
Le seul truc que j'ai trouvé pour que l'auteur puisse éditer son article en Brouillon est de cocher dans la gestion de droits par défaut de Drupal dans les Roles utilisateurs "Edit own article". Le hic c'est que si je fais ça, l'auteur pourra éditer son article tout le temps ! Et ce en ignorant l'état de workflow dans lequel se trouve l'article. Ainsi j'ai testé et j'ai vu que l'auteur pouvait éditer pendant que l'article était "Soumis à modération" ou pire même quand celui-ci est en "Publié".

J'ai fait des recherches sur Internet et quelques personnes ont eu le même problème (CF : http://drupal.org/node/82683 ). Apparemment certains ont réussi à faire fonctionner tout ça en décochant l'option "Edit own ..." dans les droits de Drupal et en laissant entièrement workflow_access gérer les droits. Mais chez moi ça ne fonctionne pas puisque c'est ce que j'ai tenté au début.

Bref je sais que j'ai pondu un gros pavé, que c'est assez spécifique mais si des gens passent dans le coin et ont déja été confrontés à ce problème et qu'ils connaissent une solution je suis preneur.
Le pire c'est que sur le papier cela devrait fonctionner de manière parfaite pile comme je veux mais il doit y avoir un truc caché ou un truc qui me dépasse :)

Version de Drupal : 

Bonjour,
Je me heurte exactement au même problème avec la version 6... Le module workflow_access ne remplit toujours pas sa mission et une ligne éditoriale qui semblait toute bête à faire devient un vrai cauchemar.
En utilisant le module "node privacy by role" ca devrait être possible (il intègre de nouvelles actions) mais pour le moment je suis incapable de le faire fonctionner correctement. Je regarde également du coté du module "rules" qui semble prometteur mais idem, rien de probant :)
Si jamais quelqu'un à une idée ou si Zatrul tu as trouvé une solution...
Merci beaucoup !

Désolé de remonter un vieux sujet mais au début quand j'ai bossé avec Workflow, j'ai cherché la même chose et au final il faut bien définir les droits sur admin/build/workflow/edit/WID (ou WID est simplement l'ID de votre workflow) pour définir qui a le droit de gérer quelle transition :)