def update_info():
    if request.method == 'POST':
        if not request_wants_json():
            user = User.find_by_id(g.user.id)
        else:
            user = User.find_by_id(request.form['uid'])
        user.firstname = request.form['firstname']
        user.lastname = request.form['lastname']
        user.email = request.form['email']
        email_user = User.find_by_email(user.email)
        if not request_wants_json():
            if email_user != None and email_user.id != g.user.id:
                flash("Our record shows that you have an account under the given email address already.")
                return render_template("users/update_info.html")
        else:
            if email_user != None and str(email_user.id) != request.form['uid']:
                ret = {"result": "Email address already exist."}
                return json.dumps(ret)
        if len(request.form['gender']) > 0:
            user.sex = request.form['gender'][0].upper()
        user.location = request.form['location']
        user.date_of_birth = request.form['date_of_birth']
        user.avatar = request.form['gravatar']
        user.about_me = request.form['about-me']
        User.save_to_db(user)
        if request_wants_json():
            ret = {"result": "OK"}
            return json.dumps(ret)
        flash('Your changes have been made!')
    return render_template("users/update_info.html")
Beispiel #2
0
def after_login(resp):
    if resp.email is None or resp.email == "":
        flash('Invalid login. Please try again.')
        redirect(url_for('login'))
    user = User.find_by_email(resp.email)
    user_name = session['username']
    if user is None:
        user = User(user_name = user_name, email = resp.email, password = "******")
        User.save_to_db(user)
    else:
        if user.user_name != user_name:
            flash('Username does not match open id. Try again.')
            return redirect(url_for('login'))

    session.pop('username', None)
    remember_me = False
    if 'remember_me' in session:
        remember_me = session['remember_me']
        session.pop('remember_me', None)
    login_user(user, remember = remember_me)
    return redirect(request.args.get('next') or url_for('index'))