diff --git a/classquiz/routers/login.py b/classquiz/routers/login.py index 7550271..6efd0c1 100644 --- a/classquiz/routers/login.py +++ b/classquiz/routers/login.py @@ -99,7 +99,11 @@ def verify_webauthn(data, fidocredentialss: list[FidoCredentials], login_session @router.post("/start") async def start_login(data: StartLoginInput): - user = await User.objects.select_related("fidocredentialss").get_or_none(email=data.email) + user = ( + await User.objects.select_related("fidocredentialss") + .filter((User.email == data.email) | (User.username == data.email)) + .get_or_none() + ) step_1: set[StartLoginResponseTypes] = set() step_2: set[StartLoginResponseTypes] = set() webauthn_data = None diff --git a/frontend/src/lib/i18n/locales/en.json b/frontend/src/lib/i18n/locales/en.json index 44a64bd..60b71cc 100644 --- a/frontend/src/lib/i18n/locales/en.json +++ b/frontend/src/lib/i18n/locales/en.json @@ -75,6 +75,7 @@ "welcome_back": "Welcome back.", "login_or_create_account": "Log in or create an account", "already_have_account": "Don't have an account?", + "email_or_username": "Email or Username", "modal": { "success": { "success_check_mail": "Logged in. Check your e-mail inbox.", diff --git a/frontend/src/routes/account/login/+page.svelte b/frontend/src/routes/account/login/+page.svelte index ce26e5d..03ccc28 100644 --- a/frontend/src/routes/account/login/+page.svelte +++ b/frontend/src/routes/account/login/+page.svelte @@ -86,7 +86,7 @@ {/if}
{#if step === 0} diff --git a/frontend/src/routes/account/login/start_window.svelte b/frontend/src/routes/account/login/start_window.svelte index 13442bf..a392e37 100644 --- a/frontend/src/routes/account/login/start_window.svelte +++ b/frontend/src/routes/account/login/start_window.svelte @@ -52,16 +52,16 @@ id="email" bind:value={email} name="email" - type="email" + type="text" class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600" - placeholder={$t('words.email')} + placeholder={$t('login_page.email_or_username')} autocomplete="email" />