Development #55424
statistiques : possibilité de regroupement par extra_data
0%
Description
Cas d'usage, un évènement repas et derrière en fait plusieurs menus, végé&co, on voudrait dans les statistiques de réservation pouvoir les différencier.
Idée, envoyer le menu choisi lors de l'appel fillslot. Puis dans les statistiques ajouter un filtre qui permette de regrouper selon les clés présentes dans les attributs extra_data des réservations.
Fichiers
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a presque 3 ans
- Fichier 0001-api-filter-statistics-by-extra_data-55424.patch 0001-api-filter-statistics-by-extra_data-55424.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
On pouvait déjà filtrer par la valeur de user_was_present, j'ai choisi d'étendre ça plutôt que de faire un autre filtre à côté, en me disant que la possibilité de combiner les deux était inutile (5 menus à la cantine + présent/absent/non renseigné aurait donné 15 point de données par jour).
À discuter, on ne peut pas juste exposer toutes les clés présentes dans extra_data, il y en aurait trop. Donc soit un nouveau champ à l'agenda « Regroupements pour les statistiques », soit se baser sur le champ « Booking check filters » qui renseigne déjà des clés de extra_data. Je suis parti sur l'option 2 pour faire au plus simple, ça devrait couvrir le cas d'usage Publik Famille.
Mis à jour par Paul Marillonnet il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Ok, petite gymnastique mentale pour se mettre dans le bain, mais c’est joli :)
Du détail, mais j’en aurais profité pour inverser les deux for
dans la double itération
for bookings in bookings_by_day.values():
for group, data in bookings_by_group.items():
data.append(bookings.get(group))
parce que c’est (je trouve) la façon intuitive dont on se représente ce que fait ce bout de code — d’abord on prend les réservations de chaque groupe, et on ajoute les données en jour par jour, non ?
Mis à jour par Valentin Deniaud il y a presque 3 ans
Paul Marillonnet a écrit :
d’abord on prend les réservations de chaque groupe, et on ajoute les données en jour par jour, non ?
Yep et ça induit même une petite simplification, poussé ça sur la branche.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit c0e2726e678f827ad26dff7dc2d61af7e08a154a Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Jul 7 11:30:56 2021 +0200 api: filter statistics by extra_data (#55424)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
api: filter statistics by extra_data (#55424)