Projet

Général

Profil

Development #69906

api : faire que la recherche en "texte libre" sur les utilisateurs fonctionne sur un numéro international lorsqu’on tape un numéro local

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
05 octobre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Dans l’api on peut taper un /api/users/?q=061234… et actuellement c’est tout simplement l’usager qui possède ce numéro qui ressort.
Avec #69365 on migre les numéros de téléphone connus d’authentic au format international E.164 mais on souhaiterait bien sûr conserver cette fonctionnalité.
Il faudrait aussi que le numéro de téléphone renvoyé en tant que données de l’usager, en réponse à cette recherche, soit lui aussi au format local.


Fichiers


Demandes liées

Lié à Publik - Development #49212: Création de compte avec un numéro de téléphone mobileEn cours01 octobre 2021

Actions

Révisions associées

Révision 3e53e2ec (diff)
Ajouté par Paul Marillonnet il y a plus d'un an

api: let free text search accept local phone numbers (#69906)

Historique

#1

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Lié à Development #49212: Création de compte avec un numéro de téléphone mobile ajouté
#2

Mis à jour par Paul Marillonnet il y a plus d'un an

#3

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution proposée à En cours

Le premier parse ne produira aucune recherche (le else dépend du deuxième try/except). Il faudrait un cas qui passe dans le premier try, un cas except/try/else et un cas try/except/except, pour tester toutes les branches.

#4

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Aussi j'ai l'impression que ça fait doublon avec la recherche sur le numéro faite juste avant via clean_number.

#5

Mis à jour par Paul Marillonnet il y a plus d'un an

Benjamin Dauvergne a écrit :

Le premier parse ne produira aucune recherche (le else dépend du deuxième try/except). Il faudrait un cas qui passe dans le premier try, un cas except/try/else et un cas try/except/except, pour tester toutes les branches.

Ah oui en effet j’avais loupé ça, je corrige.

#6

Mis à jour par Paul Marillonnet il y a plus d'un an

Benjamin Dauvergne a écrit :

Aussi j'ai l'impression que ça fait doublon avec la recherche sur le numéro faite juste avant via clean_number.

Ok, je crois la manière correcte de procéder est :
· on cherche à parser un numéro globalement unique,
· si cela échoue, on cherche à parser un numéro composable depuis le pays par défaut dans la conf a2 (DEFAULT_COUNTRY_CODE),
· si cela échoue, on rebascule sur le clean_number standard.

Cette version dans le patche avec tous les embranchements testés.

#7

Mis à jour par Benjamin Dauvergne il y a plus d'un an

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

Paul Marillonnet a écrit :

Benjamin Dauvergne a écrit :

Aussi j'ai l'impression que ça fait doublon avec la recherche sur le numéro faite juste avant via clean_number.

Ok, je crois la manière correcte de procéder est :
· on cherche à parser un numéro globalement unique,
· si cela échoue, on cherche à parser un numéro composable depuis le pays par défaut dans la conf a2 (DEFAULT_COUNTRY_CODE),
· si cela échoue, on rebascule sur le clean_number standard.

Cette version dans le patche avec tous les embranchements testés.

Ça me va, par contre j'aime bien quand une même variable n'est pas réutilisée pour des types d'objet différents, ça rend la lecture difficile. Garder phone_number comme nom du résultat de .parse(), mais le résultat de .format_number() ou clean_number() devrait se nommer formatted_phone_number.

#8

Mis à jour par Paul Marillonnet il y a plus d'un an

Benjamin Dauvergne a écrit :

Ça me va, par contre j'aime bien quand une même variable n'est pas réutilisée pour des types d'objet différents, ça rend la lecture difficile. Garder phone_number comme nom du résultat de .parse(), mais le résultat de .format_number() ou clean_number() devrait se nommer formatted_phone_number.

Fair enough, je fais la modif’ et j’attends Jenkins vert avant de pousser.

#9

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 3e53e2ecf895f27fd33ee86f794c854d675c1554
Author: Paul Marillonnet <pmarillonnet@entrouvert.com>
Date:   Mon Oct 17 14:42:20 2022 +0200

    api: let free text search accept local phone numbers (#69906)
#10

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

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

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

Formats disponibles : Atom PDF