Files @ 61cf00442673
Branch filter:

Location: CopyleftConf/copyleftconf-website/pinaxcon/account_hooks.py

Brett Smith
proposals.forms: Link to one consistent Markdown cheat sheet.

I like this one best because it's most brief, visual, and clearly under a
free license (CC BY-SA 4.0).
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