Projet

Général

Profil

Development #48264

ne pas modifier le mail sur un user.mark_as_deleted()

Ajouté par Benjamin Dauvergne il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
03 novembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

C'est con et ça va casser des trucs derrières (notification de w.c.s. sur démarche éventuellement en cours ou combo sur une facture).

La bonne façon de faire c'est d'ignorer les comptes en cours de suppression quand on cherche des doublons de mail via .exclude(deleted__isnull=False).


Fichiers

Révisions associées

Révision 8c3902b2 (diff)
Ajouté par Paul Marillonnet il y a plus de 3 ans

misc: do not modify email when marking users as deleted (#48264)

Révision 9eb52640 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

restore password reset only for active users (#49131)

Bug introduced in commit from #48264

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 3 ans

C'est-à-dire que ça nécessite de revoir les contraintes d'unicité, c'est bien ça ? Est-ce qu'on tolère la création d'un nouveau compte pour cette même adresse ou bien tant pis on attend que l'objet soit effectivement supprimé en base ?

#2

Mis à jour par Paul Marillonnet il y a plus de 3 ans

Paul Marillonnet a écrit :

C'est-à-dire que ça nécessite de revoir les contraintes d'unicité, c'est bien ça ? Est-ce qu'on tolère la création d'un nouveau compte pour cette même adresse ou bien tant pis on attend que l'objet soit effectivement supprimé en base ?

Si première des deux options j'imagine qu'il faut aussi cadrer l'api, i.e. que l'appelant sache qui parmi plusieurs usagers correspondant à un email est celui actif.

#3

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Paul Marillonnet a écrit :

C'est-à-dire que ça nécessite de revoir les contraintes d'unicité, c'est bien ça ? Est-ce qu'on tolère la création d'un nouveau compte pour cette même adresse ou bien tant pis on attend que l'objet soit effectivement supprimé en base ?

On a pas de contrainte d'unicité sur le mail justement, si jamais on en ajouté oui il faudrait les revoir; en attendant d'en avoir je proposais de faire le tour des endroits ou cette contrainte est vérifiée manuellement pour exclure les comptes supprimés.

Si première des deux options j'imagine qu'il faut aussi cadrer l'api, i.e. que l'appelant sache qui parmi plusieurs usagers correspondant à un email est celui actif.

Dans l'API de toute façon il faudrait de base exclure les comptes supprimés, ils sont invisibles.

#4

Mis à jour par Paul Marillonnet il y a plus de 3 ans

Benjamin Dauvergne a écrit :

On a pas de contrainte d'unicité sur le mail justement, si jamais on en ajouté oui il faudrait les revoir; en attendant d'en avoir je proposais de faire le tour des endroits ou cette contrainte est vérifiée manuellement pour exclure les comptes supprimés.

C’est chose faite dans la branche. J’en ai profité pour renforcer un peu le code de vérification de cette unicité dans l'api d'enregistrement.
J'ai ajouté les tests côté api, mais je dois encore en écrire deux ou trois côté /accounts/ et /manage/ pour m'assurer qu’on n’a pas de régression.

Dans l'API de toute façon il faudrait de base exclure les comptes supprimés, ils sont invisibles.

Oui ok, c’est fait.

#5

Mis à jour par Paul Marillonnet il y a plus de 3 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Paul Marillonnet
#6

Mis à jour par Paul Marillonnet il y a plus de 3 ans

Voilà, je pense avoir fait le tour.

Comme dit plus haut ici, j’ai retouché un peu le code de vérification de l'unicité dans l'api d’inscription, parce que ça m’avait l’air un peu léger en l’état.

Ça m’a l’air pas trop indigeste en un seul patch, mais bien sûr je peux découper en plusieurs patches si la relecture l’exige.

#7

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

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

Juste au passage j'aurai modifié les messages d'erreur dans l'API qui utilisent "You", il n'y a pas de You quand on utilise l'API, il faudrait un truc plus neutre 'Account already exists' par exemple.

#8

Mis à jour par Paul Marillonnet il y a plus de 3 ans

Benjamin Dauvergne a écrit :

Juste au passage j'aurai modifié les messages d'erreur dans l'API qui utilisent "You", il n'y a pas de You quand on utilise l'API, il faudrait un truc plus neutre 'Account already exists' par exemple.

Ok oui c’est vrai. Modifié et rebasé la branche. Je laisse Jenkins tourner à nouveau, et pousserai ensuite si pas de surprise.

#9

Mis à jour par Paul Marillonnet il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 8c3902b2c2430b94ce3587754ae7730f1a535dcc
Author: Paul Marillonnet <pmarillonnet@entrouvert.com>
Date:   Thu Nov 5 15:18:31 2020 +0100

    misc: do not modify email when marking users as deleted (#48264)
#10

Mis à jour par Frédéric Péters il y a plus de 3 ans

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

Formats disponibles : Atom PDF