def login():
    form = LoginForm(csrf_enabled=False)
    if g.user is not None and g.user.is_authenticated():
        if(request_wants_json()):
            return g.user.to_json();
        else:
            return redirect(url_for('home_index'))

    if request.method == 'GET':
        return render_template('users/login.html',
            title = 'Sign In',
            form = form)
    elif request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("Login successful")
            session['username'] = form.username.data
            user = User.find_by_username(form.username.data)
            if(request_wants_json()):
                return user.to_json();
            else:
                return redirect(request.args.get("next") or url_for("home_index"))
        else:
            if(request_wants_json()):
                return form.to_json();
            else:
                return render_template('users/login.html',
                    title = 'Sign In',
                    form = form)
示例#2
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('home_index'))
    form = LoginForm()
    if form.validate_on_submit():
        session['remember_me'] = form.remember_me.data
        session['username'] = form.username.data
        return open_id.try_login(form.openid.data, ask_for = ['email'])
    return render_template('users/login.html', 
        title = 'Sign In',
        form = form,
        providers = app.config['OPENID_PROVIDERS'])