Development #40412
API : sur une évènement donner l'information comme quoi les réservations vont aller en liste d'attente
0%
Description
Cas d'usage où on veut afficher un commentaire conditionnel pour dire "vous pouvez réservez mais ça va aller en liste d'attente".
Et actuellement la seule façon de faire que je trouve est une condition genre webservice.foo.places.waiting_list_reserved > 0 or webservice.foo.places.available == 0
Fichiers
Révisions associées
Historique
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
Et d'ailleurs ma condition est incomplète, ça ne vérifie pas qu'il reste des places en liste d'attente, bref c'est laborieux.
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Emmanuel Cazenave
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Fichier 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Tant qu'à faire j'ajoute aussi l'info comme quoi c'est plein et sur l'existence d'une liste d'attente.
Mis à jour par Frédéric Péters il y a environ 4 ans
places['waiting_list_activated'] = event.waiting_list > 0 or available == 0
Ça me semble couvrir la liste entamée. Mais pour l'événement plein, il faut prendre en compte le surbooking, ça sera pas nécessairement "available == 0".
Quid aussi de l'événement plein mais pas de liste d'attente définie ? il me semble que ça donnera waiting_list_activated à True alors qu'il ne faudrait pas.
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
Frédéric Péters a écrit :
[...]
Ça me semble couvrir la liste entamée. Mais pour l'événement plein, il faut prendre en compte le surbooking, ça sera pas nécessairement "available == 0".
J'imagine que ce serait donc available <= 0
, je vais vérifier ça.
Quid aussi de l'événement plein mais pas de liste d'attente définie ? il me semble que ça donnera waiting_list_activated à True alors qu'il ne faudrait pas.
Mais tous les waiting_list_*
ne sont renvoyés que si l'évènement a une liste d'attente définie, l'ajout du has_waiting_list
est là pour faciliter cette distinction coté démarche.
Mis à jour par Frédéric Péters il y a environ 4 ans
J'imagine que ce serait donc available <= 0, je vais vérifier ça.
Oui, <= 0 doit être ok.
Mais tous les waiting_list_* ne sont renvoyés que si l'évènement a une liste d'attente définie, l'ajout du has_waiting_list est là pour faciliter cette distinction coté démarche.
Yes, zappé ça.
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Fichier 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch ajouté
Et donc available <= 0
c'est bien cohérent avec ce qui se fait ailleurs : <li class="{% if event.booked_places_count > event.places %}overbooking{% endif %}
.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Manque les assert pour full non ?
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Fichier 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch 0001-api-add-more-infos-on-places-for-an-event-agenda-404.patch ajouté
- Statut changé de Solution validée à Solution proposée
De l'intérêt d'écrire des tests, ça marchait pas, il fallait en plus :
if agenda.kind == 'events' and not multiple_booking: event = events[0] + event.refresh_from_db() response['places'] = get_event_places(event)
Parce que dans ce chemin de code full est recalculé par Booking.save
puis Event.save
et l'instance d'event qu'on a ici n'est pas à jour.
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Un commentaire au dessus du refresh_from_db() sinon c'est pas évident de pourquoi c'est nécessaire (peut-être l'est-ce en voyant tout le code, mais en ne voyant que le patch ça n'est pas évident).
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Go.
Mis à jour par Emmanuel Cazenave il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 2748439c23ef3a574e0fb14ce401a125dc63be40 Author: Emmanuel Cazenave <ecazenave@entrouvert.com> Date: Wed Mar 4 17:25:45 2020 +0100 api: add more infos on places for an event agenda (#40412)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: add more infos on places for an event agenda (#40412)