Пример #1
0
    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)
Пример #2
0
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})