Yop,
Je plussoie en partie aux remarques de Touti et à sa proposition.
Néanmoins, je pense qu’il y a peut-être une voie légèrement différente et plus générique.
Le sujet du changement de statut n’est rien d’autre qu’un cas de workflow, donc un graphe états-transitions où les états sont les statuts et les transitions les actions sous-jacentes déclenchées par le formulaire.
La « complexité » de l’interface vient en particulier du fait que notre graphe est un plat de nouilles : tous les états sont accessibles de n’importe quel état, ce qui est en soit irréaliste (pratique mais pas réaliste).
De mon point de vue, dans un workflow il faut que les actions soient déclenchées par des boutons qui portent le nom de la transition et pas celui de l’état de destination: Refuser, Publier, Proposer…
Si on considère qu’un graphe plus « réaliste » (et surement à amender en supprimant la transition publié vers poubelle) est celui indiqué ci-dessous, on pourrait très bien avoir comme interface un groupe de boutons sous le statut qui indiquerait les transitions possibles comme par exemple Publier/Refuser à partir de l’état prop, etc.
Je pense que c’est le plus naturel pour un workflow.
Après quand je fouille dans Contrib qui a des milliers d’articles, j’ai du mal à comprendre après plusieurs années l’intérêt de différencier l’état refusé et poubelle quand on laisse ad vitam eternam un article refusé.
D’ailleurs en cela je rejoins @rastapopoulos car dans mes derniers plugins j’abandonne régulièrement les puces de changement rapide au profit de boutons regroupés. Par exemple, pour les inscriptions à la forge, j’ai un groupe accepter/refuser pour répondre à la demande d’inscription qui a le statut prop.