Développement #49248
dataviz: permettre un filtrage temporel avec la nouvelle api
0%
Description
On aimerait pouvoir restreindre l'affichage des statistiques entre deux bornes temporelles.
Ces filtres « date de la demande » existent dans bijoe, ça passe par deux champs date.
L'API exposée par authentic permet de spécifier ?start et ?end à cette fin là aussi.
Comment ça doit se traduire ici ? Deux champs date (ou datetime ?), avec derrière les paramètres « start » et « end » hardcodés ?
Files
Associated revisions
History
Updated by Frédéric Péters about 4 years ago
Le plan total pour moi commencerait avec la possibilité dans le paramétage de la cellule d'un graphe pour lequel on sait qu'il y a filtrage temporel possible, i.e. ça pourrait être dans la cellule avoir
Filtrage (temporel) ( ) année en cours (o) année précédente ( ) mois en cours ( ) mois précédent ( ) plage libre de <input date> à <input date>
Et ça figerait ainsi l'info; je pense que ce ticket s'arrêterait ici.
Avec le temps et des évolutions à l'API combo pourrait être informé qu'un filtre est possible sur la méthode de connexion, et ça ajouterait un champ
Filtrage (méthode de connexion) [x] Mot de passe [x] FranceConnect [ ] SAML
pour d'autres infos on pourrait imaginer qu'un filtre soit sur un nombre, (exemple ici totalement inutile)
Filtrage (nombre de rôles de l'usager) [ ..5 ]
et ainsi de suite, l'API évolue pour exposer un type de filtrage possible, la cellule évolue pour en assurer l'exploitation.
~~
Autre suite, on aurait une cellule "paramètres des graphes", qui agrégerait les filtres connus des différentes cellules configurées dans la page, et dans laquelle l'admin pourrait configurer les filtres à exposer en front; i.e.
Filtres à exposer en front [x] Temporel, année en cours [x] Temporel, année précédente [ ] Temporel, mois en cours [ ] Temporel, mois précédent [ ] Temporel, plage libre [ ] Méthode de connexion, mot de passe [ ] Méthode de connexion, FranceConnect
(et peut-être même une liste réordonnable, plutôt que des cases à cocher).
(voilà, tout cela n'est évidemment pas figé mais représente ce que j'imagine aujourd'hui)
Updated by Valentin Deniaud about 4 years ago
Frédéric Péters a écrit :
Et ça figerait ainsi l'info; je pense que ce ticket s'arrêterait ici.
Tout à fait ce dont j'avais besoin effectivement, merci.
Avec le temps et des évolutions à l'API combo pourrait être informé qu'un filtre est possible sur la méthode de connexion, et ça ajouterait un champ
C'est fait, c'est #49175 (et c'était à faire maintenant parce qu'authentic demande de spécifier un regroupement des données par jour/mois/année, décision de faire comme ça prise là #48865#note-4).
Updated by Valentin Deniaud almost 4 years ago
- File 0001-dataviz-add-time-range-fields-49248.patch 0001-dataviz-add-time-range-fields-49248.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
La base, plus un bout de js pour afficher/cacher les champs « plage libre », mais il manque la partie pour que ce soit joli :
( ) plage libre de <input date> à <input date>
À vrai dire je ne sais pas trop comment avoir ces deux champs sur une ligne avec leurs labels : introduire un widget custom et son template ? Des classes sur les champs concernés et une bonne couche de CSS ? Et/ou un rendu manuel du formulaire à la place de form.as_p ? Je vais investiguer mais je demande au cas où ce genre de chose existe ailleurs.
Updated by Frédéric Péters almost 4 years ago
Les champs From/To apparaissent pour des statistiques venant de bijoe, mais ça n'y a pas d'effet.
J'ai voulu juste mettre From en me disant que ça filtrerait de cette date à aujourd'hui mais ça n'a pas marché :
File "/home/fred/src/eo/combo/combo/apps/dataviz/views.py", line 43, in dataviz_graph chart = cell.get_chart( File "/home/fred/src/eo/combo/combo/apps/dataviz/models.py", line 240, in get_chart response = requests.get( File "/usr/lib/python3/dist-packages/requests/sessions.py", line 555, in get return self.request('GET', url, **kwargs) File "/home/fred/src/eo/combo/combo/utils/requests_wrapper.py", line 121, in request params = urlencode(kwargs.get('params', {})) File "/home/fred/src/eo/venv3-2.2-39/lib/python3.9/site-packages/django/utils/http.py", line 95, in urlencode raise TypeError( TypeError: Cannot encode None in a query string. Did you mean to pass an empty string or omit the value?
Updated by Valentin Deniaud almost 4 years ago
- File 0001-dataviz-add-time-range-fields-49248.patch 0001-dataviz-add-time-range-fields-49248.patch added
Frédéric Péters a écrit :
Les champs From/To apparaissent pour des statistiques venant de bijoe, mais ça n'y a pas d'effet.
En effet, corrigé.
J'ai voulu juste mettre From en me disant que ça filtrerait de cette date à aujourd'hui mais ça n'a pas marché :
Yep erreur dj2, corrigé aussi.
Updated by Frédéric Péters almost 4 years ago
- Status changed from Solution proposée to Solution validée
Ok go.
Updated by Valentin Deniaud almost 4 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit c492cf4d02e6ee8f6d505915fb5bd64242d3beb1 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Dec 14 15:45:38 2020 +0100 dataviz: add time range fields (#49248)
Updated by Frédéric Péters almost 4 years ago
- Status changed from Résolu (à déployer) to Solution déployée
dataviz: add time range fields (#49248)