copyleftconf-website/pinaxcon/account_hooks.py

26 lines
742 B
Python
Raw Normal View History

2017-08-18 16:26:35 +00:00
from account import hooks
from django.contrib.auth.models import User
class BetterAccountHookSet(hooks.AccountDefaultHookSet):
def get_user_credentials(self, form, identifier_field):
username = form.cleaned_data[identifier_field]
# Find an actual username so we can authenticate
print username,
if identifier_field == "email":
username = self.get_username_by_email(username)
print username,
return {
"username": username,
"password": form.cleaned_data["password"],
}
def get_username_by_email(self, email):
try:
return User.objects.get(email=email).username
except User.DoesNotExist:
return None