Projet

Général

Profil

Development #40412

API : sur une évènement donner l'information comme quoi les réservations vont aller en liste d'attente

Ajouté par Emmanuel Cazenave il y a environ 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
04 mars 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision 2748439c (diff)
Ajouté par Emmanuel Cazenave il y a presque 4 ans

api: add more infos on places for an event agenda (#40412)

Historique

#1

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.

#2

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Emmanuel Cazenave
#3

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

Tant qu'à faire j'ajoute aussi l'info comme quoi c'est plein et sur l'existence d'une liste d'attente.

#4

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.

#5

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.

#6

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.

#7

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

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 %}.

#8

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 ?

#9

Mis à jour par Emmanuel Cazenave il y a presque 4 ans

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.

#10

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).

#12

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

  • Statut changé de Solution proposée à Solution validée

Go.

#13

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)
#14

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

Formats disponibles : Atom PDF