This commit is contained in:
Joseph Schorr 2013-10-10 00:40:30 -04:00
commit b924fa5336
12 changed files with 276 additions and 12 deletions

View file

@ -34,6 +34,34 @@ def create_user(username, password, email):
raise DataModelException(ex.message)
def create_federated_user(username, email, service_name, service_id):
try:
new_user = User.create(username=username, email=email, verified=True)
service = LoginService.get(LoginService.name == service_name)
federated_user = FederatedLogin.create(user=new_user, service=service,
service_ident=service_id)
return new_user
except Exception as ex:
raise DataModelException(ex.message)
def verify_federated_login(service_name, service_id):
selected = FederatedLogin.select(FederatedLogin, User)
with_service = selected.join(LoginService)
with_user = with_service.switch(FederatedLogin).join(User)
found = with_user.where(FederatedLogin.service_ident == service_id,
LoginService.name == service_name)
found_list = list(found)
if found_list:
return found_list[0].user
return None
def create_confirm_email_code(user):
code = EmailConfirmation.create(user=user, email_confirm=True)
return code