Project

General

Profile

Développement #49248

dataviz: permettre un filtrage temporel avec la nouvelle api

Added by Valentin Deniaud about 4 years ago. Updated almost 4 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
08 December 2020
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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

Revision c492cf4d (diff)
Added by Valentin Deniaud almost 4 years ago

dataviz: add time range fields (#49248)

History

#1

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)

#2

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

#3

Updated by Valentin Deniaud almost 4 years ago

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.

#5

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?
#6

Updated by Valentin Deniaud almost 4 years ago

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.

#7

Updated by Frédéric Péters almost 4 years ago

  • Status changed from Solution proposée to Solution validée

Ok go.

#8

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

Updated by Frédéric Péters almost 4 years ago

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

Also available in: Atom PDF