예제 #1
0
파일: views.py 프로젝트: jaanan/tsoha
def auth_register():
    form = RegistrationForm(request.form)
    if request.method == "GET":
        return render_template("auth/registrationform.html", form=form)

    if not form.validate():
        print(form)
        flash(form.errors)
        flash(form.validate())
        return render_template("auth/registrationform.html", form=form)

    user = User.query.filter_by(username=form.username.data).first()
    if user:
        return render_template("auth/registrationform.html",
                               form=form,
                               error="User exists")

    username = form.username.data
    email = form.email.data
    password = form.password.data

    user = User(username, email, password)
    db.session().add(user)
    db.session().commit()
    login_user(user)
    return redirect(url_for("index"))
예제 #2
0
def auth_create_user():
    form = RegistrationForm(request.form)
    if not form.validate():
        return render_template("auth/registration.html",
                               form=form,
                               kayttajat=User.query.all(),
                               error="Tarkista syötteet!")
    user = User(form.name.data, form.username.data, form.password.data)
    if form.isadmin.data:
        user.role = "ADMIN"
    else:
        user.role = "USER"
    db.session().add(user)

    try:
        db.session().commit()
        #jos lisäys onnistuu, liitetään käyttäjä valittuun projektii
        userproject = Userproject(False)
        userproject.account_id = user.id
        userproject.project_id = form.paaprojekti.data
        userproject.paaprojekti = True
        db.session().add(userproject)
        db.session().commit()
    except IntegrityError:
        db.session().rollback()
        return render_template(
            "auth/registration.html",
            form=form,
            error="Käyttäjätunnus varattu, valitse toinen käyttäjätunnus",
            kayttajat=User.query.all())
    return redirect(url_for("auth_register"))
예제 #3
0
def auth_register():
    if request.method == "GET":
        return render_template("/auth/registrationform.html",
                               form=RegistrationForm())

    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("/auth/registrationform.html", form=form)

    role = "USER"
    if form.username.data == "admin":
        role = "ADMIN"

    pw_hash = bcrypt.generate_password_hash(form.password.data).decode("utf-8")

    u = User(form.name.data, form.username.data, pw_hash, role)
    db.session().add(u)
    try:
        db.session().commit()
    except:
        return render_template("/auth/registrationform.html",
                               form=form,
                               error="Username is already taken!")

    return render_template("auth/loginform.html",
                           form=LoginForm(),
                           message="account '" + u.username + "' created!")
예제 #4
0
def auth_register():
    form = RegistrationForm(request.form)
    if not form.validate():
        return render_template("auth/registerform.html", form=form)

    t = User(form.name.data)
    t.username = form.username.data
    t.password = form.password.data

    db.session().add(t)
    db.session().commit()

    return redirect(url_for("auth_login"))
예제 #5
0
def users_create():
    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/registration.html", form=form)

    u = User(form.nimi.data, form.kayttajatunnus.data, form.salasana.data,
             form.kayttajatyyppi.data)

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

    return redirect(url_for("index"))
def auth_create():
    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/createform.html", form = form)

    newUser = User(form.name.data, form.username.data, form.password.data)
    
    db.session().add(newUser)
    db.session().commit()

    user = User.query.filter_by(username=form.username.data, password=form.password.data).first()
    login_user(user)
    return redirect(url_for("index"))  
예제 #7
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        
        t = User(form.name.data)
        t.username = form.username.data
        t.password = form.password.data

        db.session().add(t)
        db.session().commit()

        flash('Thanks for registering')
        return redirect(url_for('auth_login'))
    return render_template('/auth/registrationform.html', form=form)
예제 #8
0
파일: views.py 프로젝트: Darake/ruokaholvi
def auth_register():
    if request.method == "GET":
        return render_template("auth/registrationform.html", form = RegistrationForm())

    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/registrationform.html", form = form)

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

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

    return redirect(url_for("auth_login"))
예제 #9
0
def auth_create():
    form = RegistrationForm(request.form)
    user = User.query.filter_by(username=form.username.data).first()
    if user:
        return render_template("auth/new.html",
                               form=form,
                               error="Username is already in use")
    if not form.validate():
        return render_template("auth/new.html", form=form)

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

    db.session().add(user)
    db.session().commit()
    login_user(user)
    return redirect(url_for("index"))
예제 #10
0
def user_create():
    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/registrationform.html", form=form)

    u = User(form.name.data, form.username.data, form.password.data)
    db.session().add(u)

    try:
        db.session().commit()
    except IntegrityError:
        db.session.rollback()
        return render_template(
            "auth/registrationform.html",
            form=form,
            error="An account with this username already exists")

    return redirect(url_for("index"))
예제 #11
0
def auth_registration():
    if request.method == "GET":
        return render_template("auth/registrationform.html", form = RegistrationForm())

    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/registrationform.html", form = form)

    user = User(form.name.data, form.username.data, form.role.data, bcrypt.generate_password_hash(form.password.data).decode('utf-8'))

    db.session().add(user)
    try:
        db.session().commit()
    except IntegrityError:
        db.session().rollback()
        return render_template("auth/registrationform.html", form = form, error ="Username is already taken. Please choose other username.")

    return redirect(url_for("index"))
예제 #12
0
def auth_registration():
    if request.method == "GET":
        return render_template("auth/registration_form.html",
                               form=RegistrationForm())

    form = RegistrationForm(request.form)
    if not form.validate():
        return render_template("auth/registration_form.html", form=form)

    try:
        user = User(form.name.data, form.username.data, form.password.data)
        db.session().add(user)
        db.session().commit()
    except IntegrityError:
        db.session().rollback()
        form.username.errors = ["Username already taken"]
        return render_template("auth/registration_form.html", form=form)

    return redirect(url_for("index"))
예제 #13
0
def auth_register():
    if request.method == "GET":
        return render_template("auth/registrationform.html",
                               form=RegistrationForm())

    form = RegistrationForm(request.form)

    if not form.validate():
        flash('Use A-Z, a-z and 0-9. For example "new_user20".')
        return render_template("auth/registrationform.html", form=form)

    u = User(form.name.data, form.username.data, form.password.data)
    u.role_id = 1
    db.session().add(u)
    db.session().commit()

    tour = Tour.query.get(1)
    u.tours.append(tour)
    db.session().commit()

    return redirect(url_for("auth_login"))
예제 #14
0
def auth_registration():
    if request.method == "GET":
        return render_template("auth/registrationform.html", form = RegistrationForm(), error = None)
                                                                    
    form = RegistrationForm(request.form)

    if not form.validate():
        return render_template("auth/registrationform.html", form=form, error = None)

    user = User.query.filter_by(username=form.username.data).first()
    if not user:
        user2 = User(form.name.data, form.username.data, form.password.data)
        db.session().add(user2)
        db.session().commit()
        login_user(user2)
        return redirect(url_for("index")) 
    else: 
        form
        return render_template("auth/registrationform.html", form=form, error = "Haluamasi käyttäjätunnus on jo varattu. Kokeile toisen.")

    return redirect(url_for("index"))
예제 #15
0
def auth_registration_create():
    form = RegistrationForm(request.form)

    if not form.validate():
        flash("Please correct the errors in order to continue.", "danger")
        return render_template("auth/regform.html", form=form)

    # checks if username exists
    username_exists = User.query.filter_by(username=form.username.data).first()
    if username_exists:
        flash("Username exists, please choose another one.", "danger")
        return render_template("auth/regform.html", form=form)

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

    db.session().add(new_user)
    try:
        db.session().commit()
    except:
        db.session.rollback()

    return redirect(url_for("index"))
예제 #16
0
def auth_register():
    if request.method == "GET":
        return render_template("auth/new.html", form=RegistrationForm())

    form = RegistrationForm(request.form)



    if not form.validate():
        return render_template("auth/new.html", form=form)

    ##Checking if a user with the username already exists
    userNew = User.query.filter_by(username = form.username.data).first()
    if userNew:
        return render_template("auth/new.html", form=form, errorMessage="Username has already been registered.")

    userNew = User(form.username.data, form.email.data, form.password.data)

    db.session.add(userNew)
    db.session.commit()
    login_user(userNew)

    return redirect(url_for("index"))
예제 #17
0
def auth_registration():
    if request.method == "GET":
        return render_template("auth/registrationform.html", form = RegistrationForm())

    form = RegistrationForm(request.form)
    if not form.validate():
        return render_template("auth/registrationform.html", form = form)

    test = User.query.filter_by(username=form.username.data).first()

    if test:
        form.username.errors.append('Username is taken')
        return render_template("auth/registrationform.html", form = form)

    user = User(' ', form.username.data, form.password.data)
    
    
    db.session().add(user)
    db.session().commit()

    db.session().add(User_Role(user.id, 1))
    db.session().commit()
    login_user(user)
    return redirect(url_for("index"))
예제 #18
0
def signup():
    if request.method == "GET":
        return render_template("auth/signup.html", form=RegistrationForm())

    form = RegistrationForm(request.form)

    if request.method == "POST" and form.validate():

        existingUser = User.query.filter_by(
            username=form.username.data).first()

        if not existingUser:
            new_user = User(name=form.name.data,
                            username=form.username.data,
                            password=form.password.data)
            db.session.add(new_user)
            db.session.commit()
            return render_template("auth/login.html", form=form)
        else:
            return render_template("auth/signup.html",
                                   error="Username is already taken.",
                                   form=form)

    return render_template("auth/signup.html", form=form)
예제 #19
0
파일: views.py 프로젝트: Vilthsu/recipebook
def registratation():
    # Halutessaan voi käyttää etuliitettä (prefix)
    prefix = "registratation-"

    # Renderöidään GET-pyynnössä lomake ilman dataa
    if request.method == "GET":
        return render_template("auth/registrationform.html",
                               form=RegistrationForm(prefix=prefix))

    # Lomakkeen data
    data = request.form
    form = RegistrationForm(data, prefix=prefix)

    # Validoinnit
    if not form.validate():
        return render_template("auth/registrationform.html",
                               form=form,
                               error="Täytä kaikki vaaditut kentät")

    # Tallennetaan lähetetyt tiedot lyhyempiin muuttujiin kästtelyä varten
    email = data[prefix + "email"].strip()
    firstname = data[prefix + "firstname"].strip()
    lastname = data[prefix + "lastname"].strip()
    pass1 = data[prefix + "password"].strip()
    pass2 = data[prefix + "password2"].strip()

    # Validoi pituudet
    too_long_value = validateMaxLengths(data, prefix)
    if len(too_long_value) > 0:
        return render_template("auth/registrationform.html",
                               form=form,
                               error=too_long_value)

    # Salasanan tulee olla vähintään 8 merkkiä pitkä
    # TODO: vahvista väh. 1 iso & 1 pienikirjain + 1 numero
    if len(pass1) < 8:
        return render_template("auth/registrationform.html",
                               form=form,
                               error="Salasana on liian lyhyt")

    # Salasanojen tulee täsmätä
    if pass1 != pass2:
        return render_template("auth/registrationform.html",
                               form=form,
                               error="Salasanat eivät täsmää")

    # Tarkistetaan onko sähköpostiosoite käytössä
    cursor = db.engine.execute(
        "SELECT COUNT(*) as maara FROM kayttaja WHERE sahkopostiosoite = ?;",
        email)

    # Haetaan tulos
    count = cursor.fetchone()
    cursor.close()

    # Mikäli count.maara on suurempi kuin 0,
    # sähköpostiosoite on jo rekisteröity ja
    # ohjataan käyttäjä takaisin lomakkeeseen virheviestin kera.
    if count.maara > 0:
        return render_template(
            "auth/registrationform.html",
            form=form,
            error="Syöttämäsi sähköpostiosoite on jo käytössä")

    # Koska emme halua tallentaa salasanaa selkokielisenä (plain text),
    # tallennetaan salasanan hash tietokantaan
    pass_hash = bcrypt.generate_password_hash(pass1)

    # Kaikki kunnossa, tallennetaan käyttäjä tietokantaan (käyttäjänimi on toistaiseksi tyhjä, TODO: generoi käyttäjänimi / pyydä käyttäjältä)
    cursor = db.engine.execute(
        "INSERT INTO kayttaja (sahkopostiosoite, salasana, etunimi, sukunimi) VALUES (?, ?, ?, ?);",
        email, pass_hash, firstname, lastname)
    cursor.close()

    # Uudelleenohjataan käyttäjä kirjautumissivulle
    return redirect(url_for("login") + "?from=registration&registration=ok")