25 lines
742 B
Python
25 lines
742 B
Python
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
|