3cn-ecn / nantralPlatform

Nantral Platform is a website project for clubs, events and more in Centrale Nantes
https://nantral-platform.fr
MIT License
21 stars 2 forks source link

[TICKET] Custom user table #1095

Closed rravelli closed 7 months ago

rravelli commented 1 year ago

Description

Passer vers une table User custom via https://code.djangoproject.com/ticket/25313#comment:24 et implémenter directement l'authentification par mail.

Definition of done

The ticket can be considered as done if all theses criteria are completed:

Technical strategy

alexisdelage commented 1 year ago

@rravelli Quelques remarques au sujet des user pour bien gérer les comptes temporaires, que m'avaient faites JYM à l'époque où je lui en avais parlé :

Ça pourra faire un autre ticket peut-être, je le mets juste là pour pas l'oublier

rravelli commented 1 year ago

@rravelli Quelques remarques au sujet des user pour bien gérer les comptes temporaires, que m'avaient faites JYM à l'époque où je lui en avais parlé :

  • niveau database, il faudrait définir le mail et le username en champ unique
  • il faudrait aussi demander la date de naissance (cf pourquoi ci-dessous)
  • pour vérifier qu'on a pas de doublon de compte, on utilise pour l'instant uniquement le mail mais ça suffit pas à cause des comptes temporaires. L'astuce serait donc de comparer le triplet (prénom, nom, date de naissance) pour vérifier que l'utilisateur n'a pas déjà créé un compte, en slugifiant prénom et nom (i.e. enlever les espaces et remplacer les é par e, etc.)
  • pour le format de stockage des noms et prénoms, on les stocke actuellement en minuscules dans la DB et on les reformate à chaque fois, ce qui est assez long. Perso je serais pour stocker dans la DB les noms et prénoms déjà formatés (on les formate en TitleCase à l'inscription pour éviter les noms horribles en MAJUSCULES, et l'utilisateur peut ensuite le modifier sans reformatage de notre part si la casse est fausse (peut être le cas pour les étrangers))

Ça pourra faire un autre ticket peut-être, je le mets juste là pour pas l'oublier

Quelques remarques:

hydrielax commented 1 year ago

Pour la vérif, 2 raisons pour utiliser les birthdate :