Beispiel #1
0
def register():
    form = RegistrationForm(request.form)
    adminExists = User.query.filter_by(admin=True).first()

    if request.method == 'POST' and form.validate():
        #user = User(form.username.data, form.password.data)
        user = User.query.filter_by(username=form.username.data).first()

        if user:
            return render_template(
                "register/register.html",
                form=form,
                error="Antamasi käyttäjätunnus löytyy jo tietokannasta!")

        if not adminExists:
            u = User(form.name.data, form.username.data, form.password2.data)
            u.active = True
            u.admin = True
        else:
            u = User(form.name.data, form.username.data, form.password2.data)
            u.active = True
            u.admin = False

        db.session().add(u)
        db.session.commit()
        return redirect(url_for('auth_login'))
    elif not adminExists:
        return render_template('register/register_admin.html', form=form)
    else:
        return render_template('register/register.html', form=form)

    return render_template('register/register.html', form=form)
Beispiel #2
0
def user_create():
    form = UserForm(request.form)

    if not form.validate():
        return render_template("users/new.html",
                               form=form,
                               error="Tarkista lomake.")

    newuser = User.query.filter_by(username=form.username.data).first()
    if newuser:
        return render_template("users/new.html",
                               form=form,
                               error="Käyttäjä on jo olemassa.")

    u = User(form.name.data)
    u.phone = form.phone.data
    u.address = form.address.data
    u.admin = form.admin.data
    u.username = form.username.data
    u.password = pbkdf2_sha256.hash(form.password.data)

    db.session().add(u)
    db.session().commit()

    flash('Käyttäjätilin luominen onnistui.')
    return redirect(url_for("user_index"))
Beispiel #3
0
def auth_create():

    if request.method == 'GET':
        return render_template("auth/registerform.html", form=LoginForm())

    # If method is POST, validate form data
    form = LoginForm(request.form)

    if form.validate():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            # Enforce unique emails
            return render_template("auth/loginform.html",
                                   form=form,
                                   error="This email is already in use.")

        # If valid email, create user and hash password, then login and redirect
        pw_hash = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        u = User(email=form.email.data, password=pw_hash)
        if form.admin.data is True:
            u.admin = True
        db.session.add(u)
        db.session.commit()
        login_user(u)
        print(u)
        return redirect(url_for('events_index'))

    # If anything in POST goes wrong, serve login form with errors
    return render_template("auth/registerform.html",
                           form=form,
                           error="Invalid information")
Beispiel #4
0
def user_create():
    form = UserCreateForm(request.form)

    if not form.validate():
        return render_template("user_create.html", form=form)

    if form.username.data == "deleted":
        return render_template("user_create.html",
                               form=form,
                               error="Username cannot be deleted")

    user = User.query.filter_by(username=form.username.data,
                                deleted=False).first()
    if user:
        return render_template("user_create.html",
                               form=form,
                               error="Username already exists")

    password = form.password.data.encode()  # utf-8 for bcrypt
    hashed = bcrypt.hashpw(password, bcrypt.gensalt()).decode()

    user = User(form.username.data, hashed)

    if User.user_count() == 0:
        user.admin = True

    db.session().add(user)
    db.session().commit()

    login_user(user)

    return redirect(url_for("index"))
Beispiel #5
0
def auth_register():
    if request.method == "GET":
        return render_template("auth/register.html", form=RegisterForm())

    form = RegisterForm(request.form)
    # validate unique, pwd is +3 char
    #form.username

    if not form.validate():
        # how to flash?
        flash("hello")
        return render_template("auth/register.html", form=form)

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

    if form.username.data == "admin":
        new_user.admin = True

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

    login_user(new_user)
    return redirect(url_for("auth_login"))