Project

General

Profile

Development #41036

Filtre d'affichage des numéros de téléphone français

Added by Mikaël Ates 15 days ago. Updated 14 days ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
26 Mar 2020
Due date:
% Done:

0%

Patch proposed:
No
Planning:
No

Description

Les champs de profil authentic de type numéro de téléphone sont stockés sans espaces.
Les champs de formulaire avec une validation numéro de téléphone également.

Lorsque ces champs sont affichés dans une cellule combo, il serait souhaité pouvoir les afficher de façon plus lisible de la façon suivante :

    01 23 45 67 89
    +33 1 23 45 67 89
    0033 1 23 45 67 89

Pour les numéros étrangers, d'autres filtres pourraient venir par la suite si celui développé ici devait être spécifique.

History

#2 Updated by Thomas Noël 15 days ago

Note d'un vieux téléphoniste : c'est un peu plus compliqué que ça si on prend en charge les DOM (qui ne sont pas en +33).

En fait pour écrire un filtre "|phonenumber_fr" il faut suivre le plan de numérotation, par exemple https://fr.wikipedia.org/wiki/Plan_de_num%C3%A9rotation_en_France#Plan_de_num%C3%A9rotation_actuel_(depuis_1996) pour savoir ce qu'il faut gérer en entrée et le format à utiliser en sortie. On peut certainement se limiter à la gestion des numéro à dix chiffres qui commencent par un zéro (et afficher les autres "tels quels").

#3 Updated by Mikaël Ates 15 days ago

Il faudrait que ça puisse afficher correctement les numéros stockés dans authentic dans les champs de profil de type Numéro de téléphone :

    r'^\+?\d{,20}$'

#4 Updated by Thomas Noël 15 days ago

Oui j'ai compris je dis juste qu'un habitant de la Réunion il va indiquer 02 62 12 34 56 mais c'est +262 262 12 34 56 qu'il faudra afficher (parce que 02 62 c'est la Réunion). Les DOM c'est spécial, faut juste prendre ça en compte.

#5 Updated by Mikaël Ates 15 days ago

Ok mais "On peut certainement se limiter à la gestion des numéro à dix chiffres qui commencent par un zéro (et afficher les autres "tels quels")." ne me semblait pas suffisant.

Par contre je ne trouve pas souhaitable de "modifier" ce qui est enregistré en base, ce que laisse penser "il va indiquer 02 62 12 34 56 mais c'est +262 262 12 34 56 qu'il faudra afficher".

Si l'usager a indiqué 0262123456 on affiche 02 62 12 34 56.

#6 Updated by Thomas Noël 15 days ago

Mikaël Ates a écrit :

Ok mais "On peut certainement se limiter à la gestion des numéro à dix chiffres qui commencent par un zéro (et afficher les autres "tels quels")." ne me semblait pas suffisant.

Par contre je ne trouve pas souhaitable de "modifier" ce qui est enregistré en base, ce que laisse penser "il va indiquer 02 62 12 34 56 mais c'est +262 262 12 34 56 qu'il faudra afficher".
Si l'usager a indiqué 0262123456 on affiche 02 62 12 34 56.

Ah ok alors j'ai mal compris l'objectif. Je pensais que tu voulais normaliser ce que la personne a tapé, par exemple toujours "+33 2 12 34 56 78" même si la personne a tapé 0212345678.

Simplifions, donc, on serait sur une logique "ne gérer que les numéros français" avec :
  • on strip et on retire tout ce qui n'est pas chiffre, à l'exception d'un éventuel signe "+" au début
  • si le résultat est de la forme 0 + 9 chiffres alors on affiche 01 23 45 67 89
  • si c'est 0033 + 9 chiffres : 00 33 2 3 45 67 89 ; si c'est +33 + 9 chiffres : +33 2 3 45 67 89
    • (à voir si en plus de 33 on prends aussi en charge les DOM +/00 + 262,508,590,594,596 + 6 chiffres je dirais que oui car c'est pas très compliqué)
  • tout le reste, on l'affiche tel quel (sous-entendu : n'est pas un numéro FR, on ne connaît pas le format)

#7 Updated by Benjamin Dauvergne 15 days ago

Oui c'est juste pour faire joli : ça ne permettra pas d'appeler la personne à tous les coups ni de faire fonctionner un PABX.

#8 Updated by Mikaël Ates 14 days ago

Oui Thomas, c'est exactement ça. Au delà d'être joli, cela permettra d'avoir un affichage beaucoup plus lisible dans les cellules json utilisées dans le portail senior.

Also available in: Atom PDF