Esempio n. 1
0
def auth_login():
    if current_user.is_authenticated:
        return redirect(url_for("index"))

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

    form = LoginForm(request.form)

    if not form.validate():
        return render_template("auth/login.html",
                               form=form,
                               error="Remember to fill all the fields")

    user = User.query.filter_by(email=form.email.data,
                                password=form.password.data).first()

    if not user:
        return render_template("auth/login.html",
                               form=form,
                               error="Incorrect email address or password")

    login_user(user)

    app.jinja_env.globals.update(is_student=current_user.is_student())
    app.jinja_env.globals.update(is_teacher=current_user.is_teacher())

    return redirect(url_for("index"))
Esempio n. 2
0
def delete_self():
    try:
        form = LoginForm(request.form)

        if not form.validate():
            return render_template(
                "auth/options.html",
                form=form,
                error=
                "Invalid input. The username and password must have 3-20 characters, and mustn't contain illegal characters."
            )

        u = User.query.filter_by(username=form.username.data,
                                 password=form.password.data).first()
        if not u:
            return render_template("auth/options.html",
                                   form=form,
                                   error="Incorrect username or password")
        if current_user.id != u.id:
            return render_template("auth/options.html",
                                   form=form,
                                   error="Incorrect username or password")

        logout_user
        delete_user(u)

        db.session().commit()

        return redirect(url_for("main"))
    except:
        print("Something went wrong.")
        db.session().rollback()
    return redirect(url_for("page_404"))
Esempio n. 3
0
def auth_login():
    # GET
    if request.method == "GET":
        next = request.args.get('next')
        form = LoginForm()
        return render_template("/auth/login.html", form=form, next=next)

    # POST
    form = LoginForm(request.form)
    if not form.validate():
        return render_template("/auth/login.html", form=form)

    user = User.query.filter_by(username=form.username.data,
                                active=True).first()
    if not (user and check_password_hash(user.password, form.password.data)):
        flash("Kirjautuminen ei onnistunut. Tarkista tunnus ja salasana.",
              "login_error")
        return render_template("/auth/login.html", form=form)

    remember = form.remember
    login_user(user, remember=remember)

    next = request.form.get('next')
    if not next is None:
        return redirect(next)
    return redirect(url_for("home"))
Esempio n. 4
0
def auth_login():
    if request.method == "GET":

        if current_user.is_authenticated:
            return redirect(url_for("index"))

        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)

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

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

    if not user:
        form.username.errors.append("No such username")
        return render_template("auth/loginform.html", form=form)

    if not user.password_is_correct(form.password.data):
        form.password.errors.append("Wrong password")
        return render_template("auth/loginform.html", form=form)

    login_user(user)
    return redirect(url_for("index"))
Esempio n. 5
0
def auth_login():
    form = LoginForm(request.form)

    if g.user.is_authenticated:
        return redirect(url_for("index"))

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

    remember_me = False
    if 'remember_me' in request.form:
        remember_me = True

    if request.form.get("Guest") == "Guest":
        username = "******"
        password = u"guest".encode('utf-8')
    elif request.form.get(
            "Login") == "Login" and form.username.data == 'admin':
        username = "******"
        password = u"admin".encode('utf-8')
    else:
        if not form.validate():
            return render_template(
                "auth/loginform.html",
                form=form,
                error="Fields must not be empty. Check password length.")
        username = form.username.data
        password = form.password.data

    if username == 'guest' or username == 'admin':
        user = User.query.filter_by(username=username).first()
        if not user:
            flash("No such username or password.", "warning")
            return render_template("auth/loginform.html", form=form)
        try:
            login_user(user, remember=remember_me)
        except IntegrityError:
            flash("Problems with login.", "danger")
            return render_template("auth/loginform.html", form=form)
    else:
        user = User.query.filter_by(username=username).first()
        if not user:
            flash("No such username or password.", "warning")
            return render_template("auth/loginform.html", form=form)

        # Check password with hashed password
        if not bcrypt.check_password_hash(user.password.encode('utf-8'),
                                          password):
            flash("No such password.", "warning")
            return render_template("auth/loginform.html", form=form)

        try:
            login_user(user, remember=remember_me)
        except IntegrityError:
            flash("Problems with login.", "danger")
            return render_template("auth/loginform.html", form=form)

    db.session.permanent = remember_me

    return redirect(url_for("index"))
Esempio n. 6
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

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

    if request.form.get('login'):

        user = Agency.query.filter_by(username=form.username.data,
                                      password=form.password.data).first()
        if not user:
            return render_template(
                "auth/loginform.html",
                form=form,
                error=
                "No such username or password. Register a new user or check spelling."
            )
    else:
        user = Agency(request.form.get("username"),
                      request.form.get("username"),
                      request.form.get("password"))
        db.session().add(user)
        db.session().commit()

    login_user(user)
    return redirect(url_for("index"))
Esempio n. 7
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")
Esempio n. 8
0
def newuser():
    try:
        if request.method == "GET":
            return render_template("auth/newuser.html", form=LoginForm())

        form = LoginForm(request.form)

        if not form.validate():
            return render_template(
                "auth/newuser.html",
                form=form,
                error=
                "Invalid input. The username and password must have 3-20 characters, and mustn't contain illegal characters."
            )

        user = db.session.query(
            User).filter((User.name == form.username.data)
                         | (User.username == form.username.data)).first()
        if user:
            return render_template("auth/newuser.html",
                                   form=form,
                                   error="Username already in use")

        user = User(form.username.data, form.username.data, form.password.data)
        user.acc_type = "USER"
        db.session().add(user)
        db.session().commit()

        login_user(user)
        return redirect(url_for("main"))
    except:
        print("Something went wrong.")
        db.session().rollback()
    return redirect(url_for("page_404"))
Esempio n. 9
0
def login():
    try:
        if request.method == "GET":
            return render_template("auth/loginform.html", form=LoginForm())

        form = LoginForm(request.form)
        if not form.validate():
            return render_template(
                "auth/loginform.html",
                form=form,
                error=
                "Invalid input. The username and password must have 3-20 characters, and mustn't contain illegal characters."
            )

        user = User.query.filter_by(username=form.username.data,
                                    password=form.password.data).first()
        if not user:
            return render_template("auth/loginform.html",
                                   form=form,
                                   error="No such username or password")

        login_user(user)
        return redirect(url_for("main"))
    except:
        print("Something went wrong.")
        db.session().rollback()
    return redirect(url_for("page_404"))
Esempio n. 10
0
def auth_login():
    next_page = request.args.get("next", default=url_for("index"))

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

    form = LoginForm(request.form)
    if not form.validate():
        return render_template("auth/loginform.html",
                               form=form,
                               next_page=next_page)

    trainer = Trainer.query.filter_by(username=form.username.data).first()

    if not trainer:
        flash("No such username or password.", "error")
        return render_template("auth/loginform.html",
                               form=form,
                               next_page=next_page)

    password = form.password.data.encode()
    db_password = trainer.password
    if isinstance(trainer.password, str):
        db_password = trainer.password.encode()

    if not bcrypt.checkpw(password, db_password):
        flash("No such username or password.", "error")
        return render_template("auth/loginform.html",
                               form=form,
                               next_page=next_page)

    login_user(trainer)
    return redirect(next_page)
Esempio n. 11
0
def auth_login():
    if request.method == 'GET':
        return render_template('auth/login.html', form=LoginForm())

    form = LoginForm(request.form)

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

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

    if not user:
        return render_template('auth/login.html',
                               form=form,
                               error='No such username or password')

    password = form.password.data.encode()
    phash = user.phash.encode()

    if not bcrypt.checkpw(password, phash):
        return render_template('auth/login.html',
                               form=form,
                               error='No such username or password')

    login_user(user)

    return redirect(request.args.get('next') or url_for('posts_index'))
Esempio n. 12
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/login.html", form=LoginForm())

    form = LoginForm(request.form)

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

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

    if not user:
        return render_template("auth/login.html",
                               form=LoginForm(),
                               error="Bad username or password")

    login = flask_bcrypt.check_password_hash(user.pwd_hash, form.password.data)

    if not login:
        return render_template("auth/login.html",
                               form=LoginForm(),
                               error="Bad username or password")

    login_user(user)

    return redirect(url_for("index"))
Esempio n. 13
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)
    pw = form.password.data

    if not form.validate():
        return render_template("auth/loginform.html",
                               form=form,
                               error="Input between 1 and 64 char expected")

    user = User.query.filter_by(
        username=form.username.data.lower().strip()).first()
    if not user:
        return render_template("auth/loginform.html",
                               form=form,
                               error="No such username or incorrect password")

    if checker(user.password, pw) == False:
        return render_template("auth/loginform.html",
                               form=form,
                               error="No such username or incorrect password")

    login_user(user)
    flash("Otagai ni rei, sensei ni rei, welcome to the dojo {}".format(
        user.name))
    return redirect(url_for("index"))
Esempio n. 14
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)

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

    # jos käyttäjänimi ja salasana ei vastaa
    user = User.query.filter_by(username=form.username.data,
                                password=form.password.data).first()
    if not user:
        return render_template("auth/loginform.html",
                               form=form,
                               error="Username and password do not match.")

    print("User '" + user.username + "' identified")
    login_user(user)
    flash("Succesfully logged in!", "alert alert-success")

    # kirjautumiskehotteen jälkeinen ohjaus
    next = request.args.get("next")

    return redirect(next or url_for("posts_index"))
Esempio n. 15
0
def auth_create():
    form = LoginForm(request.form)

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

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

    return redirect(url_for("auth_login"))
Esempio n. 16
0
def user_create():
    form = LoginForm(request.form)
  
    if not form.validate():
        return render_template("/auth/newUserForm.html", form = form)

    n = User(request.form.get("username"), request.form.get("username"), request.form.get("password"))

    db.session().add(n)
    db.session().commit()

    return redirect(url_for("index"))
Esempio n. 17
0
def auth_create():
    form = LoginForm(request.form)

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

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

    db.session().add(u)
    db.session().commit()
    return redirect(url_for("index"))
Esempio n. 18
0
def change_username():
    try:
        form = LoginForm(request.form)

        if not form.validate():
            return render_template(
                "auth/options.html",
                form=form,
                error=
                "Invalid input. The username and password must have 3-20 characters, and mustn't contain illegal characters."
            )

        new_username = form.new_username.data

        if not new_username:
            return render_template("auth/options.html",
                                   form=form,
                                   error="You need to input a new name")

        u = User.query.filter_by(username=form.username.data,
                                 password=form.password.data).first()
        if not u:
            return render_template("auth/options.html",
                                   form=form,
                                   error="Incorrect username or password")
        if current_user.id != u.id:
            return render_template("auth/options.html",
                                   form=form,
                                   error="Incorrect username or password")

        # Tarkastetaan ettei nimi ole jo käytössä, mutta oma käyttäjänimi on edelleen sallittu
        user = db.session.query(User).filter(
            ((User.name == new_username) | (User.username == new_username))
            & (User.id != current_user.id)).first()
        if user:
            return render_template("auth/options.html",
                                   form=form,
                                   error="Username already in use")

        # Mikäli käyttäjällä on sama käyttäjänimi ja käyttäjätunnus, muutetaan käyttäjänimi myös.
        if u.name == u.username:
            u.name = new_username

        u.username = new_username

        db.session().commit()

        return redirect(url_for("main"))
    except:
        print("Something went wrong.")
        db.session().rollback()
    return redirect(url_for("page_404"))
Esempio n. 19
0
def register():
    form = LoginForm(request.form)
    if request.method == "POST" and form.validate():
        pw_hash = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        u = User(form.username.data, pw_hash)
        db.session().add(u)
        db.session().commit()
        ur = UserRole(u.id, 2)
        db.session().add(ur)
        db.session().commit()
        return redirect(url_for("auth_login"))
    return render_template("auth/register.html", form=form)
Esempio n. 20
0
def new_user():
	form = LoginForm(request.form)
	
	if not form.validate():
		return render_template("auth/new.html", form = form)
	
	user = User(form.name.data, form.email.data, form.phonenumber.data, form.password.data, "ANY")
	if form.admin.data:
		user.urole = "ADMIN"
	db.session().add(user)
	db.session().commit()
	
	return redirect(url_for("index"))
Esempio n. 21
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/login.html", form=LoginForm())

    form = LoginForm(request.form)

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

    user = User.query.filter_by(username=form.username.data,
                                password=form.password.data).first()

    login_user(user)
    return redirect(url_for("index"))
Esempio n. 22
0
def auth_registered():
    form = LoginForm(request.form)

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

    user = user_datastore.create_user(username=form.username.data,
                                      password=form.password.data)
    user_datastore.add_role_to_user(user, 'user')

    db.session().commit()

    login_user(user)

    return redirect(url_for("index"))
Esempio n. 23
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())
    form = LoginForm(request.form)
    if not form.validate():
        return render_template("auth/loginform.html", form=form)
    userfromdb = User.query.filter_by(username=form.username.data).first()
    if not userfromdb:
        return render_template("auth/loginform.html", form=form, error="No such username or password")

    if not bcrypt.check_password_hash(userfromdb.password, form.password.data):
        return render_template("auth/loginform.html", form=form, error="No such username or password")

    login_user(userfromdb)
    message = "You have logged in"
    return render_template("index.html", message=message)
Esempio n. 24
0
def auth_create():
    form = LoginForm(request.form)

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

    u = User(form.username.data, form.password.data)
    tryu = User.query.filter_by(username=form.username.data).first()
    if tryu:
        return render_template("auth/new.html",
                               form=form,
                               error="Username is not available.")

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

    return redirect(url_for("index"))
Esempio n. 25
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)

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

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

    if not user or not user.is_correct_password(form.password.data):
        return render_template("auth/loginform.html", form=form,
                               error="No such username or password")

    login_user(user)
    return redirect(url_for("index"))
Esempio n. 26
0
def accounts_create():
    if request.method == "GET":
        return render_template("auth/createform.html", form=LoginForm())
    
    form = LoginForm(request.form)
    if not form.validate():
        return render_template("auth/createform.html", form = form)
    salasana1 = form.password.data
    salasana2 = form.password2.data
    if salasana1 != salasana2:
        return render_template("auth/createform.html", form = form, error = "Salasanat eivät ole samat")
    t = User(request.form.get("name"),request.form.get("username"),request.form.get("password"))
   

    db.session().add(t)
    db.session().commit()
    return redirect(url_for("index"))
Esempio n. 27
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/login.html", form=LoginForm())

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

    user = User.query.filter_by(username=form.username.data,
                                password=form.password.data).first()
    if not user:
        return render_template("auth/login.html",
                               form=form,
                               error="Väärä käyttäjätunnus tai salasana")

    login_user(user)
    return redirect(url_for("overview"))
Esempio n. 28
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form = LoginForm())

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

    user = User.query.filter_by(username=form.username.data, password=form.password.data).first()
    if not user:
        return render_template("auth/loginform.html", form = form,
                               error = "Käyttäjätunnusta tai salasanaa ei tunnistettu")


    print("Käyttäjä " + user.name + " tunnistettiin")
    login_user(user)
    return redirect(url_for("index"))    
Esempio n. 29
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    login_form = LoginForm(request.form)
    # mahdolliset validoinnit
    if not login_form.validate():
        return render_template("auth/loginform.html", form=login_form)

    user = User.query.filter_by(username=login_form.username.data,
                                password=login_form.password.data).first()
    if not user:
        return render_template("auth/loginform.html",
                               form=login_form,
                               error="No such username or password")

    login_user(user)
    return redirect(url_for("categories_index"))
Esempio n. 30
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form = LoginForm())
    
    form = LoginForm(request.form)

    if form.validate():
        username = form.username.data
        password = form.password.data

        user = Kayttaja.query.filter_by(username=username, password=password).first()
        if not user:
            return render_template("auth/loginform.html", form = form, 
                                error = "Tuntematon käyttäjänimi tai salasana")
    
        login_user(user)
        return redirect(url_for("matkakohteet_index"))
    return render_template("auth/loginform.html", form = form)