Skip to content

Instituer un événement demande de pouvoir instituer l'article associé avec le même statut.

Glop a demandé de fusionner gh-a7110dc8/45/unknown/refs/pull/45/head vers master

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

Rapports de requête de fusion