def add_user(): """ Register a user, looking up username and password in request.form. Validates the username and password. Returns: A JSON string about the registration status. """ username = request.form['username'] password = request.form['password'] confirmation = request.form['confirmPassword'] if not confirmed_password_valid(password, confirmation): return fail_registration( "Your password and confirmation didn't match up.") if password.strip() == '': return fail_registration("Passwords can not be blank.") if ' ' in password: return fail_registration("Passwords can not have spaces") users = Users(g.database_service) if not users.is_valid_username(username): error = """ Username %s is not valid. Either it's taken, it has a space, or it's blank. """ % (username) return fail_registration(error) new_user = users.register_user(username, password) session['user_id'] = new_user.get_id() return success_registration()