Bug #80950
API: un attribut nommé phone n'est plus mis à jour
0%
Description
Depuis le patch du ticket #79135 lors d'une mise à jour par web-service du numéro de téléphone, si l'attribut se nomme phone seul la colonne User.phone est mise à jour et pas l'attribut lui même. Je suppose parce qu'il y a collision au niveau de authentic2.api_views.BaseUserSerializer entre le champ DRF créé pour User.phone et le champ DRF créé pour l'Attribut du même nom.
Il faudrait reverter #79135 en attendant de pouvoir remettre les bases d'équerre. Plus simplement supprimer le champ phone de BaseUserSerializer.
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a 8 mois
- Sujet changé de L'attribut phone n'est plus mis à jour à API: un attribut nommé phone n'est plus mis à jour
- Description mis à jour (diff)
Mis à jour par Paul Marillonnet il y a 8 mois
- Lié à Development #79135: custom_user : déprécier le champ de base User.phone ajouté
Mis à jour par Paul Marillonnet il y a 8 mois
Benjamin Dauvergne a écrit :
Il faudrait reverter #79135 en attendant de pouvoir remettre les bases d'équerre.Plus simplement supprimer le champ phone de BaseUserSerializer.
Peut-être même complètement supprimer User.phone ? (Après avoir écrit la migration qui va en copier la valeur vers User.attributes.phone si celle-ci n’y est pas renseignée)
Mis à jour par Robot Gitea il y a 8 mois
Paul Marillonnet (pmarillonnet) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/125
- Titre : WIP: dépréciation du champ de téléphone du modèle utilisateur, suite (#80950)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/125/files
Mis à jour par Benjamin Dauvergne il y a 8 mois
Paul Marillonnet a écrit :
Benjamin Dauvergne a écrit :
Il faudrait reverter #79135 en attendant de pouvoir remettre les bases d'équerre.Plus simplement supprimer le champ phone de BaseUserSerializer.Peut-être même complètement supprimer User.phone ? (Après avoir écrit la migration qui va en copier la valeur vers User.attributes.phone si celle-ci n’y est pas renseignée)
1. Je ne vois pas comment savoir par défaut quelle est la bonne valeur, si ça a été mis à jour via web-service, c'est bien User.phone qui a la dernière valeur mais si c'est via la page mon compte, c'est l'attribut je pense.
2. Ta migration va être très lente, itérer sur parfois 100000 utilisateurs...
Mis à jour par Paul Marillonnet il y a 8 mois
Benjamin Dauvergne a écrit :
1. Je ne vois pas comment savoir par défaut quelle est la bonne valeur, si ça a été mis à jour via web-service, c'est bien User.phone qui a la dernière valeur mais si c'est via la page mon compte, c'est l'attribut je pense.
2. Ta migration va être très lente, itérer sur parfois 100000 utilisateurs...
Je vais faire un ticket lié pour avoir des stats pour chaque instance concernant les usagers sujets à cette divergence, qu’on comprenne à quel point 1. et 2. sont bloquants.
Comme je disais dans la PR gitea liée, pour les instances problématiques il faut traiter au cas par cas. La PR ici se veut proposer une approche générale, une fois les cas problématiques évacués, pour ne pas conserver User.phone et User.attributes.phone en concurrence ad vitam æternam (et ne pas s’exposer à nouveau à des soucis de divergence décrits dans ce ticket).
Mis à jour par Benjamin Dauvergne il y a 8 mois
Je ne trouve pas le déroulé idéal, je préférerai mettre tout de suite les instances dans un état qui fonctionne, et notamment l'instance de Toulouse qui m'intéresse un peu, par exemple en retirant explicitement le champ de l'API et/ou en rétablissant la synchro, pour que le formulaire de modification des comptes d'AlloToulouse fonctionne. Ensuite on peut corriger les données et au final on pourra retirer la colonne qui contiendra forcément des données en doublon.
Mis à jour par Paul Marillonnet il y a 8 mois
- Statut changé de Solution proposée à En cours
Ok, fair enough, je vais retirer le champ de l’API, je me garde cette PR ci sous le coude pour un futur ticket de retrait complet de la colonne.
Mis à jour par Paul Marillonnet il y a 8 mois
- Lié à Development #81282: Retrait de la colonne User.phone ajouté
Mis à jour par Robot Gitea il y a 8 mois
- Statut changé de Solution proposée à Solution validée
Benjamin Dauvergne (bdauvergne) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 8 mois
- Statut changé de Solution validée à Résolu (à déployer)
Paul Marillonnet (pmarillonnet) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/authentic/pulls/125
- Titre : retrait du champ phone du BaseUserSerializer (#80950)
- Modifications : https://git.entrouvert.org/entrouvert/authentic/pulls/125/files
Mis à jour par Transition automatique il y a 8 mois
- Statut changé de Résolu (à déployer) à Solution déployée
api: write user's phone as a profile attribute only (#80950)