- Better error messages for sign up
- Show a throbber while working on sign up - Have the front page redirect to the repositories view when logged in
This commit is contained in:
parent
211fd6bcd7
commit
31914da4ca
4 changed files with 31 additions and 4 deletions
|
@ -13,7 +13,7 @@ from auth.permissions import (ReadRepositoryPermission,
|
|||
ModifyRepositoryPermission,
|
||||
AdministerRepositoryPermission)
|
||||
from endpoints import registry
|
||||
|
||||
import re
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -55,6 +55,14 @@ def get_logged_in_user():
|
|||
@app.route('/api/user/', methods=['POST'])
|
||||
def create_user_api():
|
||||
user_data = request.get_json()
|
||||
existing_user = model.get_user(user_data['username'])
|
||||
if existing_user:
|
||||
error_resp = jsonify({
|
||||
'message': 'The username already exists'
|
||||
})
|
||||
error_resp.status_code = 400
|
||||
return error_resp
|
||||
|
||||
try:
|
||||
new_user = model.create_user(user_data['username'], user_data['password'],
|
||||
user_data['email'])
|
||||
|
@ -62,8 +70,13 @@ def create_user_api():
|
|||
send_confirmation_email(new_user.username, new_user.email, code.code)
|
||||
return make_response('Created', 201)
|
||||
except model.DataModelException as ex:
|
||||
message = ex.message
|
||||
m = re.search('column ([a-zA-Z]+) is not unique', message)
|
||||
if m and m.group(1):
|
||||
message = m.group(1) + ' already exists'
|
||||
|
||||
error_resp = jsonify({
|
||||
'message': ex.message,
|
||||
'message': message,
|
||||
})
|
||||
error_resp.status_code = 400
|
||||
return error_resp
|
||||
|
|
Reference in a new issue