Project

General

Profile

Développement #55424

statistiques : possibilité de regroupement par extra_data

Added by Valentin Deniaud over 3 years ago. Updated over 3 years ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
06 July 2021
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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.


Files

Associated revisions

Revision c0e2726e (diff)
Added by Valentin Deniaud over 3 years ago

api: filter statistics by extra_data (#55424)

History

#1

Updated by Valentin Deniaud over 3 years ago

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.

#2

Updated by Paul Marillonnet over 3 years ago

  • Status changed from Solution proposée to 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 ?

#3

Updated by Valentin Deniaud over 3 years ago

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.

#4

Updated by Valentin Deniaud over 3 years ago

  • Status changed from Solution validée to 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)
#5

Updated by Frédéric Péters over 3 years ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF