Comment donner a un rôle la permission de modifier un contenu non encore publié?

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.

J'ai un contenu qui peut être modifié par un rédacteur, sauf que celui-ci ne peut le faire quand ce contenu n'est pas encore publié , comment assurer ça sans donner au rédacteur la permission d'administrer les noeuds.
Merci

Forum : 
Version de Drupal : 

Perso je serai aller dans un module ke je crée et je fait un form_alter() sur le formulaire d edition et j uset tout les champ ke le role n a pas le droit de voir.Car avec un form alter tu attrape un tableau php qui te construit ton formulaire ( et c est le cas pour tou les formulaire de drupal

genre if (role = titi et form=toto) alors unset(toto['tata']);

PS: C'est exactement ce ke j avai compris je t ai dit tu veu k il modifie le titre et le node (Tu m a répondu non "il pourra juste modifier les différents champs contenu dans le noeud".

Lol c est la meme chose et avec me methode tu enleve ce ke tu veut et tu laisse ce que tu veut.

Mais il te faut un peu de code php(genre 4 ligne)

Ce que je ferais :

Dans les permisssions, accorder les droits "edit any story content" ou "edit own story content" et/ou "create ..." suivant mes besoins (evidemment, "story" c'est pour l'exemple).

Puis dans un hook_form_alter, qqch du genre :

<?php
 
if (isset($form['type']) && $form_id == 'story_node_form') {
  if(
$form['#node']->status > 0){
   
drupal_access_denied(); // ou drupal_goto("quelquepart") pour ne pas afficher la perm refusée.
 
}
}
?>