def new(self): user = create_user(request.form['email'], request.form['password']) user.update(request.form.to_dict()) # clean up user object user.pop('password') user.pop('confirm') if not user.get('name', None): user['name'] = ' '.join([request.form['first_name'], request.form['last_name']]) user_id = g.db.users.insert(user) # TODO: find a cleaner way to hardcode the DP user_id # dp_user_id = ObjectId("5175d60a137a001de8c3fa6b") # dp_events = g.db.users.find_one({'_id': dp_user_id}).get('events', []) # all users follow themselves and the DP user['following'] = [user_id] # user['event_queue'] = dp_events user['event_queue'] = [] g.db.users.update({'_id': user_id}, {'$set': {'following': user['following'], 'event_queue': user['event_queue']}}) login_user(user) user['logged_in'] = True return jsonify(user)
def login(): if LoginForm(request.form).validate(): user = g.db.users.find_one({'email': request.form['email']}) if user is not None: if authenticate(user, request.form['password']): login_user(user) # abstract into pre-serialize user user['logged_in'] = True return jsonify(user) else: return jsonify({'error': INCORRECT_EMAIL_PASSWORD}) else: return jsonify({'error': UNKNOWN_EMAIL}) else: return jsonify({'error': INCORRECT_EMAIL_PASSWORD})