Closed adipasquale closed 2 days ago
merci pour tes retours @victormours ! peut-être à discuter de vive voix aussi.
Je n’ai pas codé ce comportement de redirection 302 avec flash d’erreur, c’est celui par défaut qui se produit pour les Pundit::NotAuthorizedError
cf Admin::AuthenticatedControllerConcern
Ce qui m’importe avec cette PR c’est effectivement de limiter le bruit sur Sentry.
Je n’ai pas d’avis fort sur ce qui devrait être le comportement dans ce cas :
Mon avis faible va plutôt pour 2 :
@victormours Si tu as un avis fort pour 1 je peux changer cette PR dans cette direction
Discuté avec @victormours : en termes d’UX le comportement actuel 404 versus le changement de cette PR avec redirection et flash générique « vous n’avez pas le droit » se valent à peu près.
Or, le rétablissement du bruit des ActiveRecord::RecordNotFound
avait justement été fait pour être alerté de problèmes d’UX améliorables.
Cette PR va enlever ce bruit et on n’aura plus l’info qu’il faudrait améliorer cette UX.
C’est donc le moment de le faire :)
J’ai modifié le message du flash d’erreur pour ce cas précis :
Vous ne pouvez pas accéder à cette organisation
On peut itérer dessus assez facilement.
Au passage mes derniers commits :
Pundit.authorize
plutôt que d’instancier la policy directement. Cela permet de raiser exactement la bonne erreur pundit bien chargée avec les infos et d’utiliser le bon message d’erreur i18n10 down 🚀
corrige #4383
Lorsqu’un agent accède à une URL d’une orga à laquelle il n’a pas accès :
ActiveRecord::RecordNotFound
Cette PR propose de changer tout ce comportement :
Pundit::NotAuthorizedError
Il me semble que c’est un meilleur comportement pour les agents et que cela nous fera moins de bruit dans Sentry
Followup