Allow a user to register from the landing page. Fix spacing issues.

This commit is contained in:
yackob03 2013-10-01 19:37:33 -04:00
parent 70685e2aa8
commit 0d6d463fc1
5 changed files with 205 additions and 137 deletions

View file

@ -6,6 +6,7 @@ from functools import wraps
from data import model
from app import app
from util.email import send_confirmation_email
from util.names import parse_repository_name
from util.gravatar import compute_hash
from auth.permissions import (ReadRepositoryPermission,
@ -36,7 +37,7 @@ def welcome():
return make_response('welcome', 200)
@app.route('/api/user/')
@app.route('/api/user/', methods=['GET'])
def get_logged_in_user():
if current_user.is_anonymous():
return jsonify({'anonymous': True})
@ -51,6 +52,23 @@ def get_logged_in_user():
})
@app.route('/api/user/', methods=['POST'])
def create_user_api():
user_data = request.get_json()
try:
new_user = model.create_user(user_data['username'], user_data['password'],
user_data['email'])
code = model.create_confirm_email_code(new_user)
send_confirmation_email(new_user.username, new_user.email, code.code)
return make_response('Created', 201)
except model.DataModelException as ex:
error_resp = jsonify({
'message': ex.message,
})
error_resp.status_code = 400
return error_resp
@app.route('/api/users/<prefix>', methods=['GET'])
@api_login_required
def get_matching_users(prefix):