User dont l'adresse mail contient une quote '

Bonjour,

un des nouveaux élus de la région Bretagne a un nom de famille avec une apostrophe.
son adresse mail en a une aussi.
la création de ce user dans simplicité est impossible
image

Bonjour,

Vous pouvez modifier l’expression régulière du champ de type email ou créer un type d’attribut spécifique EMAILBZH et le choisir comme Type validation de votre attribut.
Administration/Type d’attribut/EMAIL.

il s’agit de l’attribut usr_email de m_user.
si je le modifie, ça ne risque pas d’être écrasé ?

Soit vous importez les modifications systèmes que vous avez effectué à chaque mise à jour de socle
Soit vous créez un objet héritier de User avec un attribut emailbzh dans lequel vous masquez usr_email.

impossible de créer un objet héritier. c’est la synchro avec crowd qui alimente les user.
pour l’import des modifications à chaque mise à jour du socle, ça me parait bien risqué

A la lecture du RFC sur les adresses email, une apostrophe est effectivement un caractère autorisé.

J’avoue que c’est la première fois que je vois une adresse email avec ce caractère et pourtant je pense avoir envoyé mon premier email en 1990…

On va regarder pour autoriser ce caractère dans la regexp qui valide les attributs de type “emails”.

en bretagne, tout est possible :wink: l’apostrophe c’est courant !

Oui des noms avec apostrophes c’est très courant, et pas qu’en bretagne, mais dans une adresse email j’ai jamais vu.

En général pour éviter les pbs on ne la met pas dans une chaine de caractères “technique” (login, adresse email, …), idem avec les caractères accentués.

L’apostrophe est particulièrement “risquée” car c’est un délimiteur usuel de chaine de caractères en informatique.

Ce patch sera intégré aux patches système des prochaines revisions, il peut donc être appliqué manuellement en avance de phase si besoin:

<simplicite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.simplicite.fr/base" xsi:schemaLocation="http://www.simplicite.fr/base https://www.simplicite.io/resources/schemas/base.xsd">
<object>
	<name>FieldType</name>
	<action if="exists">update</action>
	<data>
		<flt_code>EMAIL</flt_code>
		<flt_regexp><![CDATA[^\w+(['\.\+-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$]]></flt_regexp>
	</data>
</object>
</simplicite>

Ok pour l’email ça sera suffisant de changer de REGEXP.

Mais que fera-t-on si un compte de ce type à une authent Google via son email (donc si usr_login = usr_email) ?

Je n’ai jamais vu de compte avec un apostrophe… mais les impacts dans Simplicité seront plus nombreux car le login est utilisé un peu partout (vérifier que le login est bien encodé quand il est dans un script…). Ce sera intéressant de faire un essai avant que cela n’arrive.

UPDATE : Google ne parle pas le breton, on ouvre un defect :wink: ?

image

Oui le patch c’est juste pour pouvoir saisir des attributs de type adresse email, mais si cette adresse email à un rôle “technique” par ailleurs (envoi de mails, usage en tant que login, etc…), il risque d’y avoir des effets de bords inattendus par ci par là.

Les adresses email c’est comme les noms de fichier, depuis les origines de l’informatique ça ne fait pas bon ménage avec les caractère spéciaux…