Projet

Général

Profil

Development #66700

filtres de requêtes, pouvoir filtre sur autre chose qu’une valeur en égalité stricte

Ajouté par Paul Marillonnet il y a presque 2 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
28 juin 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

exemple : obtenir dans un filtre de requête |filter_by:"datefield" tous les objets antérieurs à la date passée en valeur de filtre.


Fichiers

Révisions associées

Révision 71508f32 (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

misc: add operator filters for formdata filtering (#66700)

Historique

#1

Mis à jour par Olivier Renard il y a presque 2 ans

Merci. Exemple de cas d'usage dans le cadre d'Atout Sport: Avec une requete, pouvoir récuperer toutes les fiches dont le champ date "date de dernière mise à jour du compte coupons" est supérieur à une date d.

#2

Mis à jour par Pierre Cros il y a presque 2 ans

Je comprends pas bien.

Pour l'instant on a
  • |filter_by_internal_id permet de filtrer sur l’identifiant interne d'une demande/fiche (à la différence de |filter_by_number).
  • |filter_by_number permet de filtrer les résultats sur un numéro de demande/fiche.
  • |filter_by_status:"Libellé du statut" permet de filtrer les résultats sur le statut donné.
  • |filter_by_user

Avoir juste filter_by pour dire, je crois, filter_by_date_is_before, c'est pas clair. Il y a une nécessité de garder filter_by plutôt qu'un filter_before par exemple ?

#3

Mis à jour par Paul Marillonnet il y a presque 2 ans

Avoir juste filter_by pour dire, je crois, filter_by_date_is_before, c'est pas clair. Il y a une nécessité de garder filter_by plutôt qu'un filter_before par exemple ?

L’exemple donné par Olivier la justifie, il me semble. Il y a nécessité de préciser dans le filtre quel est le champ date utilisé pour la comparaison avec une date donnée.

#4

Mis à jour par Frédéric Péters il y a presque 2 ans

Je pense qu'il faut ignorer l'exemple de la description, et il n'y a pas encore de forme décidée.

Ça pourrait également être un filtre opérateur, qui se calerait entre les deux autres, exemple aujourd'hui |filter_by:"plop"|filter_value:"toto". Vouloir tout ce qui serait au-dessus de toto pourrait être |filter_by"plop"|filter_op:">"|filter_value:"toto". (à l'image de ce qui se fait dans l'interface, où on choisit l'opérateur).

Ou des filtres spécifiques par opérateur, exemple |filter_by:"plop"|greater_than|filter_value:"toto".

#5

Mis à jour par Pierre Cros il y a presque 2 ans

Compris, merci.

#6

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Assigné à mis à Lauréline Guérin
#7

Mis à jour par Lauréline Guérin il y a plus d'un an

proposition 1 avec des filtres |eq |ne |lt ... à placer entre le |filter_by et le |filter_value
(mais on peut aussi faire du |equal |not_equal |less_than, .... ou encore du |filter_operator:"<op>")

note: ça ne fonctionne que pour les champs, pas pour le filtre internal_id ou status (alors que dans le listing ou par api c'est possible), parce que pour ces filtres l'évaluation en critère se fait immédiatement, pas possible donc de changer simplement l'opérateur par un filtre placé après.

note2: un peu de nettoyage dans les tests existants pour en regrouper un max dans un test spécifique

#9

Mis à jour par Frédéric Péters il y a plus d'un an

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

Je rédigeais le ticket pour la gestion de filtres sur ce qui n'est pas des champs (#68943) et je pense que ça sera plus lisible d'avoir les formes longues pour les opérateurs, |not_equal plutôt que |ne.

→ |equal, |not_equal, |less_than, |greater_than (et oui ça devient long), |less_than_or_equal, |greater_than_or_equal.

#10

Mis à jour par Frédéric Péters il y a plus d'un an

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

Mis à jour par Lauréline Guérin il y a plus d'un an

(flemme, j'ai juste renommé les filtres, sans renommer dans le code)

#12

Mis à jour par Frédéric Péters il y a plus d'un an

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

Ok go.

#13

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 71508f32c452a01fd2a330448bdd18e411783a0a
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Wed Aug 10 15:07:17 2022 +0200

    misc: add operator filters for formdata filtering (#66700)
#14

Mis à jour par Transition automatique il y a plus d'un an

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

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF