import features

from data import model

def can_create_user(email_address):
  """ Returns true if a user with the specified e-mail address can be created. """
  if not features.USER_CREATION:
    return False

  if features.INVITE_ONLY_USER_CREATION:
    if not email_address:
      return False

    # Check to see that there is an invite for the e-mail address.
    return bool(model.team.lookup_team_invites_by_email(email_address))

  # Otherwise the user can be created (assuming it doesn't already exist, of course)
  return True