Instituer un événement demande de pouvoir instituer l'article associé avec le même statut.
Bonjour,
Par défaut, l'autorisation autoriser('instituer', 'evenement', …)
appelle autoriser('modifier', 'evenement', …)
, qui à son tour appelle autoriser('modifier', 'article', …)
pour l'article associé à l'événement en question, afin de vérifier que l'on est bien autorisé·e à modifier cet article.
Cependant, lorsque l'on cherche à instituer un événement, ce n'est pas autoriser('modifier', 'article', …)
qu'il faut vérifier, mais autoriser('instituer', 'article', …)
, avec le statut
à modifier dans les $options
.
C'est déjà ce que fait evenement_instituer()
(voir lignes 392 et 393 de action/editer_evenement.php
), mais ce n'est par contre pas pris en compte par autoriser_evenement_instituer_dist()
.
Par conséquent, si on a le droit d'éditer l'article lié à l'événement (mais pas de changer le statut de cet article), le formulaire instituer_objet
et la puce_statut
affichent la possibilité de changer le statut de l'événement. Si l'on clique dessus, cela est heureusement refusé par l'action editer_evenement
, mais tant qu'à faire, autant éviter que l'option ne soit présentée.
Cette PR propose donc de rajouter un appel à autoriser('instituer', 'article', …)
dans autoriser_evenement_instituer_dist()
, en plus de la vérification de autoriser('modifier', 'evenement', …)
. C'est un peu ceinture et bretelles, mais ça fait le boulot :)
Merci !
++ Glop