Projet

Général

Profil

Bug #38306

API - impossibe de déplacer une réservation sur plusieurs évènements à cause du comptage des places

Ajouté par Emmanuel Cazenave il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
09 décembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

En faisant tout en un seul appel avec cancel_booking_id, ça échoue avec "cancel booking: count is different".

Parce ce que ce qui est comparé c'est un count passé dans la query string ou dans le payload, par défaut 1, avec le nombre de places de la réservation à annuler, genre 2 si une personne s'est inscrite à deux évènements.


Fichiers


Demandes liées

Lié à Publik - Development #38208: Inscription à plusieurs évènements d'un même agenda d'un seul coup Fermé04 décembre 2019

Actions

Révisions associées

Révision 7c6528f3 (diff)
Ajouté par Emmanuel Cazenave il y a plus de 4 ans

api: count correctly requested places on multiple booking (#38306)

Historique

#1

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

  • Lié à Development #38208: Inscription à plusieurs évènements d'un même agenda d'un seul coup ajouté
#2

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

Je ne vois pas ce qu'on pourrait apporter comme correction pertinente, parce qu'on peut très bien vouloir annuler une réservation à deux évènements au profit d'une réservation à trois évènements.

#3

Mis à jour par Frédéric Péters il y a plus de 4 ans

Je note parce que ce n'était pas instinctivement clair pour moi, on est sur fill_slots, dans lequel on passerait cancel_booking_id, qui pointerait vers une réservation contenant un nombre différents de places.

Et aujourd'hui, il y a vérification pour que cette action combinée d'annulation/réservation concerne le même nombre de places. Parce que c'est annuler/réserver, c'est le raccourci pour "déplacer".

Si le nombre de places est différents, si on veut annuler une réservation pour en reprendre une autre, il est toujours temps de faire deux appels, d'abord annuler puis réserver, et gérer ça côté workflow.

Ou on introduit un choix de politique de remplacement, pour pouvoir dire que le nombre de places doit rester identique (politique actuelle), peut diminuer, peut augmenter, peut changer.

#4

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

A relire #33489#note-6, est-ce que tu avais une motivation particulière pour demander ce filet de sécurité sur le nombre de places ?

Ça m'avait paru raisonnable à moi aussi, mais sans penser particulièrement aux cas d'erreur concrets que ça viendrait prévenir. Et en y réfléchissant à nouveau maintenant, je n'en vois pas bien de quels embrouilles concrètes ça nous protège.

#5

Mis à jour par Frédéric Péters il y a plus de 4 ans

À mon avis ça assurait que l'appel était fait "correctement", plutôt qu'avec un count absent et plouf une seule place annulée. (genre on modifie un workflow pour gérer la réservation de places et on modifie l'appel de création mais pas l'appel de remplacement); ça devait peut-être aussi éviter pas mal de questions genre "ça déborde vers la liste d'attente, quel comportement ?".

#6

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

Quand tu disais "politique", j'imaginais quelque chose de paramétrable dans l'UI etc, et ça me semblait trop lourd juste pour ce cas d'usage.

Du coup j'étais parti sur la possibilité de débrayer la vérification du nombre de places grâce un paramètre lors de l'appel à fillslots, parce que les réservations multiples doivent de toute façon avoir leur workflow particulier et donc que la politique de vérification soit portée par le workflow, ça me semblait ok.

Jusqu'à finalement me convaincre de débrayer par défaut la vérif sur les réservations multiples, cf la simplicité du test, qui ne passe pas sans le patch.

#7

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

Et finalement, juste arrêter de comparer des patates à des carottes, le nombre de places demandées lors de la réservation que l'on veut modifier peut se calculer correctement.

#9

Mis à jour par Frédéric Péters il y a plus de 4 ans

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

Et pour mémoire pour la situation :

si tu réserves un seul évènement, tu as les réservations secondaires sur le même évènement que la réservation principale, si tu réserves sur deux évènement il y a réservation principale sur un évènement, réservation secondaire sur un autre.

#10

Mis à jour par Emmanuel Cazenave il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 7c6528f3b8e9714aae07eef022a35fe7b4e9709e
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Mon Dec 16 16:50:38 2019 +0100

    api: count correctly requested places on multiple booking (#38306)
#11

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF