mirror of
https://github.com/joaovitoriasilva/endurain.git
synced 2026-01-09 15:57:59 -05:00
Normalize username and email to lowercase on user forms
User creation and editing now convert usernames and emails to lowercase in frontend forms and backend logic to ensure consistency and prevent duplicate accounts with case variations. Birthdate is also converted to ISO format during migration for data uniformity.
This commit is contained in:
@@ -27,6 +27,8 @@ def process_migration_6(db: Session):
|
||||
for user in users:
|
||||
try:
|
||||
user.username = user.username.lower()
|
||||
if user.birthdate:
|
||||
user.birthdate = user.birthdate.isoformat()
|
||||
user_converted = users_schema.UserRead.model_validate(user)
|
||||
|
||||
user_crud.edit_user(user.id, user_converted, db)
|
||||
|
||||
@@ -345,6 +345,8 @@ def edit_user(user_id: int, user: users_schema.UserRead, db: Session):
|
||||
# Delete the user photo in the filesystem
|
||||
users_utils.delete_user_photo_filesystem(db_user.id)
|
||||
|
||||
user.username = user.username.lower()
|
||||
|
||||
# Dictionary of the fields to update if they are not None
|
||||
user_data = user.model_dump(exclude_unset=True)
|
||||
# Iterate over the fields and update the db_user dynamically
|
||||
|
||||
@@ -637,8 +637,8 @@ async function submitAddUserForm() {
|
||||
if (isPasswordValid.value) {
|
||||
const data = {
|
||||
name: newEditUserName.value,
|
||||
username: newEditUserUsername.value,
|
||||
email: newEditUserEmail.value,
|
||||
username: newEditUserUsername.value.toLowerCase(),
|
||||
email: newEditUserEmail.value.toLowerCase(),
|
||||
city: newEditUserCity.value,
|
||||
birthdate: newEditUserBirthDate.value,
|
||||
preferred_language: newEditUserPreferredLanguage.value,
|
||||
@@ -680,9 +680,9 @@ async function submitEditUserForm() {
|
||||
try {
|
||||
const data = {
|
||||
id: props.user.id,
|
||||
username: newEditUserUsername.value,
|
||||
username: newEditUserUsername.value.toLowerCase(),
|
||||
name: newEditUserName.value,
|
||||
email: newEditUserEmail.value,
|
||||
email: newEditUserEmail.value.toLowerCase(),
|
||||
city: newEditUserCity.value,
|
||||
birthdate: newEditUserBirthDate.value,
|
||||
gender: newEditUserGender.value,
|
||||
|
||||
@@ -370,8 +370,8 @@ const submitForm = async () => {
|
||||
// Prepare data for submission
|
||||
const data = {
|
||||
name: signUpName.value,
|
||||
username: signUpUsername.value,
|
||||
email: signUpEmail.value,
|
||||
username: signUpUsername.value.toLowerCase(),
|
||||
email: signUpEmail.value.toLowerCase(),
|
||||
password: signUpPassword.value,
|
||||
preferred_language: signUpPreferredLanguage.value,
|
||||
city: signUpCity.value || null,
|
||||
|
||||
Reference in New Issue
Block a user