Club-Alpin-Annecy / collectives

Site de collectives du caf Annecy
https://doc.collectives.cafannecy.fr
15 stars 19 forks source link

Les tarifs avec restrictions par les rôles ne sont pas respecté #700

Closed jnguiot closed 6 months ago

jnguiot commented 6 months ago

Version

v19.3

Scénario de reproduction

  1. Créer une collective avec des places et des dates d'inscriptions permettant de s'inscrire aujourd'hui
  2. ajouter un tarif avec pour seule restriction que le participant doit avoir un rôle
  3. Se connecter avec un utilisateur sans rôle sur le site et accèder à la collective

Comportement observé

L'utilisateur peut s'inscrire en payant le tarif

Comportement attendu

L'utilisateur ne devrait pas se voir proposer le tarif

jnguiot commented 6 months ago

Cela provient probablement de https://github.com/Club-Alpin-Annecy/collectives/blob/484e2f7cb24be3951a6ab9d05850e76464f84879/collectives/models/user_group.py#L66

Le return True fait qu'il n'y a pas de test si activity_id et role_id sont à None

gdaviet commented 6 months ago

Oui, ce devrait être User.roles.any() probablement