Projet

Général

Profil

Development #15736

API de recherche texte libre sur les utilisateurs

Ajouté par Benjamin Dauvergne il y a environ 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
03 avril 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Extrait de #15620:

Côté welco, avoir un ?q= (ou autre, qui fasse comme le ?search-text= dans le manager), ça serait également bien utile.

Donc avoir une recherche libre qui tape à la fois dans first_name, last_name, username et email.


Fichiers


Demandes liées

Lié à Authentic 2 - Development #15620: api: permettre plus de possibilité de filtrage dans l'API des utilisateursFermé24 mars 2017

Actions
Lié à Publik - Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueilFermé29 octobre 201730 juin 2018

Actions
Lié à Authentic 2 - Development #20694: Ajouter une priorité sur les attributs du profil pour la recherche des utilisateursNouveau14 décembre 2017

Actions
Lié à Authentic 2 - Development #28223: Recherche texte utilisateur : nettoyage Fermé21 novembre 2018

Actions

Révisions associées

Révision 0876d25d (diff)
Ajouté par Emmanuel Cazenave il y a plus de 5 ans

api: free text search on users (#15736)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 7 ans

  • Lié à Development #15620: api: permettre plus de possibilité de filtrage dans l'API des utilisateurs ajouté
#2

Mis à jour par Thomas Noël il y a environ 7 ans

Benjamin Dauvergne a écrit :

Extrait de #15620:

Côté welco, avoir un ?q= (ou autre, qui fasse comme le ?search-text= dans le manager), ça serait également bien utile.

Donc avoir une recherche libre qui tape à la fois dans first_name, last_name, username et email.

... et tous les autres attributs (dans le cadre d'une utilisation par welco, les numéros de téléphones sont nécessaires)

#3

Mis à jour par Benjamin Dauvergne il y a environ 7 ans

En fait ça va utiliser ce qui est proposé dans le #15739.

#4

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

  • Lié à Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil ajouté
#5

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

  • Sujet changé de Recherche quasi-full text sur les utilisateurs à API de recherche texte libre sur les utilisateurs

Le besoin est en fait encore présent, pourrait bénéficier de l'expérience acquise dans Zoo. (je change d'ailleurs l'intitulé pour parler de recherche texte libre, que ça puisse aller au-delà d'une recherche dans une indexation full text)

#6

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

Je met un déroulé pour celui qui prendra ce ticket:
  • supprimer authentic2.manager.utils.filter_user() en faire une méthode nommée free_text_search() d'une classe UserQueryset, mixer cette classe dans authentic2.custom_user.manager.UserManager (en utilisant Manager.from_queryset() et en héritant du résultat)
  • remplacer tous les usages de filter_user par cette nouvelle méthode sur les Queryset de User(s)
  • dans authentic2.api_views (après avoir lu un peu http://www.django-rest-framework.org/api-guide/filtering/)
#7

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

Quand à tirer de l'expérience de zoo, sûr mais zoo dépend du support de fonctionnalité avancé de Postgresql dans Django 1.11 notamment les index trigramme; il faudra attendre la monter en version pour pouvoir aller vers cela (on peut toujours écrire tout ça à la main mais bon).

#8

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Lié à Development #20694: Ajouter une priorité sur les attributs du profil pour la recherche des utilisateurs ajouté
#9

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

  • Assigné à mis à Emmanuel Cazenave
#10

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

#11

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

A appliquer après #28223.

Permet un ?q=textelibre, dans le enpoint de recherche d'utilisateurs.

J'ai suivi le plan décrit dans #15736#note-6, qui ne donne donc pas la recherche par trigramme réalisée dans Zoo, qui pourra venir plus tard.

#12

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

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

C'est gentil1 aux gens de rest_framework de vouloir corriger de vieilles erreurs, mais je trouve request.GET['q'] moins curieux que request.query_params['q'] quand on fait du Django depuis plus de 10 jours.

Pour le reste c'est tout bon.

1 https://www.django-rest-framework.org/api-guide/requests/#query_params

#13

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)

Poussé en tenant compte de ton commentaire.

commit 0876d25dbdbd90d9710eb1d1479e598cd5d47f3b
Author: Emmanuel Cazenave <ecazenave@entrouvert.com>
Date:   Wed Nov 21 14:50:00 2018 +0100

    api: free text search on users (#15736)
#14

Mis à jour par Frédéric Péters il y a plus de 5 ans

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

Formats disponibles : Atom PDF