Beispiel #1
0
def auth_signup():
    if request.method == 'GET':
        return render_template('auth/signupform.html', form=SignupForm())

    form = SignupForm(request.form)

    if not form.validate():
        return render_template('auth/signupform.html', form=form)

    user = User.query.filter_by(username=form.username.data).first()
    if user:
        return render_template('auth/signupform.html', form=form, error='Username already taken')

    admin = not User.admin_exists()

    new_user = User(form.username.data, form.password.data, admin)

    db.session().add(new_user)
    db.session().commit()

    login_user(new_user)
    return redirect(url_for('index'))