Projet

Général

Profil

Bug #80950

API: un attribut nommé phone n'est plus mis à jour

Ajouté par Benjamin Dauvergne il y a 8 mois. Mis à jour il y a 8 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
06 septembre 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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

Lié à Authentic 2 - Development #79135: custom_user : déprécier le champ de base User.phoneFermé27 juin 2023

Actions
Lié à Authentic 2 - Development #81282: Retrait de la colonne User.phoneEn cours18 septembre 2023

Actions

Révisions associées

Révision 704c085b (diff)
Ajouté par Paul Marillonnet il y a 8 mois

api: write user's phone as a profile attribute only (#80950)

Historique

#2

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)
#3

Mis à jour par Paul Marillonnet il y a 8 mois

  • Statut changé de Nouveau à En cours
#4

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é
#5

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)

#6

Mis à jour par Robot Gitea il y a 8 mois

Paul Marillonnet (pmarillonnet) a ouvert une pull request sur Gitea concernant cette demande :

#7

Mis à jour par Robot Gitea il y a 8 mois

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

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...

#9

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).

#11

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.

#12

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.

#14

Mis à jour par Paul Marillonnet il y a 8 mois

#15

Mis à jour par Robot Gitea il y a 8 mois

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

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 :

#17

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 :

#18

Mis à jour par Transition automatique il y a 8 mois

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

Mis à jour par Transition automatique il y a 5 mois

Automatic expiration

Formats disponibles : Atom PDF