def get_user_by_email(email): """Gets a User by `email` Returns None if not found """ from htk.apps.accounts.models import UserEmail if is_valid_email(email): # check for confirmed email addresses user_emails = UserEmail.objects.filter(email__iexact=email, is_confirmed=True) num_results = user_emails.count() if num_results == 1: user = user_emails[0].user elif num_results > 1: # there should only be one User with this email... # if there are more, we have a data error! raise NonUniqueEmail(email) else: # num_results == 0, so check UserModel for active users with email UserModel = get_user_model() try: user = UserModel.objects.get(email__iexact=email, is_active=True) except UserModel.MultipleObjectsReturned: user = None request = get_current_request() rollbar.report_exc_info() raise NonUniqueEmail(email) except UserModel.DoesNotExist: # also check newly registered accounts # if not user.is_active, handling will get passed downstream user = get_incomplete_signup_user_by_email(email) else: user = None return user
def authenticate_user_by_username_email(username_email, password): if is_valid_email(username_email): email = username_email auth_user = authenticate_user_by_email(email, password) else: username = username_email auth_user = authenticate_user(username, password) return auth_user
def authenticate_user_by_username_email(request, username_email, password): if is_valid_email(username_email): email = username_email auth_user = authenticate_user_by_email(request, email, password) else: username = username_email auth_user = authenticate_user(request, username, password) return auth_user
def extract_user_email(username_email): """Gets the user for `username_email` `username_email` is a string that could be either a username OR an email """ email = None if is_valid_email(username_email): email = username_email user = get_user_by_email(email) else: username = username_email user = get_user_by_username(username) return (user, email)
def extract_user_email(username_email): """Gets the user for `username_email` `username_email` is a string that could be either a username OR an email """ email = None if is_valid_email(username_email): email = username_email user = get_user_by_email(email) else: username = username_email user = get_user_by_username(username) return (user, email,)
def get_user_by_email(email): """Gets a User by `email` Returns None if not found """ from htk.apps.accounts.models import UserEmail if is_valid_email(email): # check for confirmed email addresses user_emails = UserEmail.objects.filter(email__iexact=email, is_confirmed=True) num_results = user_emails.count() if num_results == 1: user = user_emails[0].user elif num_results > 1: # there should only be one User with this email... # if there are more, we have a data error! raise NonUniqueEmail(email) else: # num_results == 0 # also check newly registered accounts # if not user.is_active, handling will get passed downstream user = get_incomplete_signup_user_by_email(email) else: user = None return user