From a83a7d8c08cfa3a615a38001702a34088b919833 Mon Sep 17 00:00:00 2001 From: maxDorninger <97409287+maxDorninger@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:22:23 +0200 Subject: [PATCH 1/4] fix password being set to new email when trying to update oneself's email --- web/src/lib/components/user-settings.svelte | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/web/src/lib/components/user-settings.svelte b/web/src/lib/components/user-settings.svelte index ea38290..bb9df58 100644 --- a/web/src/lib/components/user-settings.svelte +++ b/web/src/lib/components/user-settings.svelte @@ -21,7 +21,7 @@ credentials: 'include', body: JSON.stringify({ ...(newPassword !== '' && { password: newPassword }), - ...(newEmail !== '' && { password: newEmail }) + ...(newEmail !== '' && { email: newEmail }) }) }); @@ -80,6 +80,13 @@ placeholder="Keep empty to not change the password" type="password" /> +
From bb294225f25fcd57f16e0c02a858b2b9501c2771 Mon Sep 17 00:00:00 2001 From: maxDorninger <97409287+maxDorninger@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:36:50 +0200 Subject: [PATCH 2/4] fix formatting --- web/src/lib/components/user-settings.svelte | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/src/lib/components/user-settings.svelte b/web/src/lib/components/user-settings.svelte index bb9df58..582f009 100644 --- a/web/src/lib/components/user-settings.svelte +++ b/web/src/lib/components/user-settings.svelte @@ -81,11 +81,11 @@ type="password" />
From 99c0a7dafac5c410512306f521eafb4bfdf43526 Mon Sep 17 00:00:00 2001 From: maxDorninger <97409287+maxDorninger@users.noreply.github.com> Date: Tue, 29 Jul 2025 16:04:44 +0200 Subject: [PATCH 3/4] remove duplicate input field --- web/src/lib/components/user-settings.svelte | 7 ------- 1 file changed, 7 deletions(-) diff --git a/web/src/lib/components/user-settings.svelte b/web/src/lib/components/user-settings.svelte index 582f009..904a643 100644 --- a/web/src/lib/components/user-settings.svelte +++ b/web/src/lib/components/user-settings.svelte @@ -80,13 +80,6 @@ placeholder="Keep empty to not change the password" type="password" /> -
From c773bf41b697e88d268a8ac191b1c1b375f4ea3e Mon Sep 17 00:00:00 2001 From: maxDorninger <97409287+maxDorninger@users.noreply.github.com> Date: Tue, 29 Jul 2025 16:20:11 +0200 Subject: [PATCH 4/4] keep users who change their email verified status --- media_manager/auth/users.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/media_manager/auth/users.py b/media_manager/auth/users.py index d62fffc..f47ceea 100644 --- a/media_manager/auth/users.py +++ b/media_manager/auth/users.py @@ -1,7 +1,7 @@ import contextlib import logging import uuid -from typing import Optional +from typing import Optional, Any from fastapi import Depends, Request from fastapi_users import BaseUserManager, FastAPIUsers, UUIDIDMixin, models @@ -46,6 +46,19 @@ class UserManager(UUIDIDMixin, BaseUserManager[User, uuid.UUID]): reset_password_token_secret = SECRET verification_token_secret = SECRET + async def on_after_update( + self, + user: models.UP, + update_dict: dict[str, Any], + request: Optional[Request] = None, + ) -> None: + log.info(f"User {user.id} has been updated. Changes: {update_dict}") + if "is_superuser" in update_dict and update_dict["is_superuser"]: + log.info(f"User {user.id} has been granted superuser privileges.") + if "email" in update_dict: + updated_user = UserUpdate(is_verified=True) + await self.update(user=user, user_update=updated_user) + async def on_after_register(self, user: User, request: Optional[Request] = None): log.info(f"User {user.id} has registered.") if user.email in config.admin_emails: