Enable login with email, like the form says

This commit is contained in:
Lorenz Padberg 2023-07-12 14:13:06 +02:00
parent c962005286
commit 7d74003d0d
1 changed files with 8 additions and 1 deletions

View File

@ -2,7 +2,7 @@ import graphene
from django.conf import settings
from django.contrib.auth import authenticate, login
from graphene import relay
from users.models import User
# from users.user_signup_login_handler import handle_user_and_verify_products, UNKNOWN_ERROR, EMAIL_NOT_VERIFIED
@ -19,6 +19,13 @@ class BetaLogin(relay.ClientIDMutation):
if settings.ALLOW_BETA_LOGIN:
password = kwargs.get('password_input')
username = kwargs.get('username_input')
# Login with email
if '@' in username:
user = User.objects.get(email=username)
if user:
username = user.username
user = authenticate(username=username, password=password)
if user is None:
raise Exception('invalid_credentials')