Feed error messages through a cors wrapper so that people on other domains can see what's happening.

This commit is contained in:
jakedt 2014-03-17 16:57:35 -04:00
parent 4673f40dd2
commit 3b3d71bfd7
18 changed files with 162 additions and 129 deletions

View file

@ -2,13 +2,12 @@ import logging
import stripe
from flask import request
from flask.ext.restful import abort
from flask.ext.login import logout_user
from flask.ext.principal import identity_changed, AnonymousIdentity
from app import app
from endpoints.api import (ApiResource, nickname, resource, validate_json_request, request_error,
log_action, internal_only)
log_action, internal_only, NotFound)
from endpoints.api.subscribe import subscribe
from endpoints.common import common_login
from data import model
@ -139,7 +138,7 @@ class User(ApiResource):
new_email = user_data['email']
if model.find_user_by_email(new_email):
# Email already used.
return request_error(message='E-mail address already used')
raise request_error(message='E-mail address already used')
logger.debug('Sending email to change email address for user: %s',
user.username)
@ -147,7 +146,7 @@ class User(ApiResource):
send_change_email(user.username, user_data['email'], code.code)
except model.InvalidPasswordException, ex:
return request_error(exception=ex)
raise request_error(exception=ex)
return user_view(user)
@ -160,7 +159,7 @@ class User(ApiResource):
existing_user = model.get_user(user_data['username'])
if existing_user:
return request_error(message='The username already exists')
raise request_error(message='The username already exists')
try:
new_user = model.create_user(user_data['username'], user_data['password'],
@ -169,7 +168,7 @@ class User(ApiResource):
send_confirmation_email(new_user.username, new_user.email, code.code)
return 'Created', 201
except model.DataModelException as ex:
return request_error(exception=ex)
raise request_error(exception=ex)
@resource('/v1/user/private')
@ -257,13 +256,13 @@ class ConvertToOrganization(ApiResource):
# Ensure that the new admin user is the not user being converted.
admin_username = convert_data['adminUser']
if admin_username == user.username:
return request_error(reason='invaliduser',
raise request_error(reason='invaliduser',
message='The admin user is not valid')
# Ensure that the sign in credentials work.
admin_password = convert_data['adminPassword']
if not model.verify_user(admin_username, admin_password):
return request_error(reason='invaliduser',
raise request_error(reason='invaliduser',
message='The admin user credentials are not valid')
# Subscribe the organization to the new plan.
@ -310,7 +309,7 @@ class Signin(ApiResource):
""" Sign in the user with the specified credentials. """
signin_data = request.get_json()
if not signin_data:
abort(404)
raise NotFound()
username = signin_data['username']
password = signin_data['password']