Fil a écrit :
Je souhaitais ajouter au plugin Autorité la possibilité de dire "qui
peut publier un article ?" avec pour réponse le webmestre, admin
complet, admin restreint ou l'auteur...
OK
Je viens de le faire, mais pas avec l'option 'le rédacteur'
La fonction autoriser_rubrique_publierdans() ne connait pas l'objet enfant qui l'appelle et ne peut pas savoir si le rédacteur est aussi un des auteurs...
On pourrait passer une option sur le test de
autoriser('publierdans', 'rubrique', $id_rubrique)
ou comme tu le proposes créer un nouveau droit.
Oui, il y a un argument $opt dans les fonctions d'autorisation, c'est peut être pour ce genre de choses
?
Par exemple
autoriser_modifier_article() renvoie vrai lorsque
autoriser_rubrique_publierdans() est vrai. Or, je voudrais pouvoir dire
(c'est fictif) : un auteur à le droit de publier son article, mais pas
de le modifier après...
Il n'est pas anormal que les droits par défauts aient un
fonctionnement en cascade sur des choses qui semblent logiques (si tu
peux publier, tu peux modifier, c'est "logique") ; si tu veux sortir
de cette logique, il faut parfois modifier plusieurs fonctions de
droits (dans le cas limite, il faudra même les redéfinir toutes).
Oui, bien sûr, mais là, on n'a pas le choix pour l'instant car la fonction instituer_article (celle qui affiche la liste des statuts disponibles de l'article selon l'utilisateur) de inc/instituer_article.php appelle autoriser('publierdans', 'rubrique', $id_rubrique), sans notion de l'id de l'objet proposé à publication (on ne peut donc pas autoriser le rédacteur à publier son article)
Est-ce qu'une nouvelle autorisation comme autoriser_instituer() et
autoriser_instituer_article() n'aurait pas leur place quelque part ?
il faudra passer dans les options l'id_rubrique pour gagner du temps,
mais ça peut s'envisager. Le faire en cas pour tous les objets.
Je suppose qu'il faudrait que : ecrire/inc/instituer_article.php & consoeurs executent, plutot que autoriser('publierdans', 'rubrique', $id_rubrique), un nouvel autoriser('instituer', 'article', $id_article) et si possible passer à cette autorisation le $id_rubrique (opt?) pour que ces fonctions aillent plus vite en appelant autoriser('publierdans', 'rubrique', $id_rubrique) ?
MM.