def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user, authenticated = User.authenticate(db.session.query, 
                form.email.data, form.password.data)
        if authenticated:
            session['user_id'] = user.id
            flash('You were logged in')
            return redirect(url_for('index'))
        else:
            flash('Invalid email or password')
    return render_template('login.html', form=form)
Exemplo n.º 2
0
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user, authenticated = User.authenticate(db.session.query,
                                                form.email.data,
                                                form.password.data)
        if authenticated:
            session['user_id'] = user.id
            flash('You were logged in')
            return redirect(url_for('index'))
        else:
            flash('Invalid email or password')
    return render_template('login.html', form=form)
Exemplo n.º 3
0
def login():
    """Login."""
    error = None
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user:
            if check_password_hash(user.password, form.password.data):
                login_user(user, remember=form.remember.data)
                return redirect(url_for('show_events', current_user=current_user))
            else:
                error = "Invalid password"
        else:
            error = "Invalid username"
    return render_template('login.html', form=form, error=error)
Exemplo n.º 4
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        t_user = User.query.filter_by(username=form.username.data).first()
        if t_user and (t_user.pwd == form.password.data):
            login_user(t_user, remember=form.remember.data)
            flash(f'You have been logged in!', 'success')
            next_page = request.args.get('next')
            return redirect(next_page) if next_page\
                else redirect(url_for('home'))
        else:
            flash(f'Wrong credentials', 'danger')
    return render_template('login.html', title='Login Page', form=form)
Exemplo n.º 5
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('.login'))
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('.home')
        return redirect(next_page)
    return render_template('login.html', title='SIGN IN', form=form)
Exemplo n.º 6
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Check if there are any emails with the same email the we've submitted
        user = User.query.filter_by(username=form.username.data).first()
        # If user exists and password is correct
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash(f'Hi there, {form.username.data}!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('index'))
        else:
            flash("Incorrect username or password", 'danger')
    return render_template('login.html', title='Login', form=form)
Exemplo n.º 7
0
def login():

    # redirect logged in users
    # if g.user and g.user.is_authenticated:
    #    return redirect(url_for('.index'))
    # return form

    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None:
            flash('Invalid Username')
        elif not user.check_password(form.password.data):
            flash('Invalid Password')
        else:
            return login_user(user, form)

    return render_template('login.html', title='GIBSON', form=form)
Exemplo n.º 8
0
def login():
    if (current_user.is_authenticated):
        return redirect(url_for('home'))
    form = LoginForm()
    if (form.validate_on_submit()):
        user = User.query.filter_by(email=form.email.data).first()
        if (user and bcrypt.check_password_hash(user.password,
                                                form.password.data)):
            login_user(user, form.remember.data)
            next_page = request.args.get('next')
            if next_page:
                return redirect(next_page)
            else:
                return redirect(url_for('home'))
        else:
            flash("login unsuccessful! please check email and password",
                  'danger')

    return render_template("login.html", title='Login', form=form)
Exemplo n.º 9
0
def login():
    # redirect to the home page if the user is already logged in
    if (current_user.is_authenticated):
        return redirect(url_for('routes.home'))
    form = LoginForm(request.form)
    # If the user is trying to log in
    if (form.validate_on_submit()):
        print('Login request')
        # Search for the username in the database
        user = User.query.filter_by(username=form.username.data).first()
        # If the user is not found or the password is incorrect
        if (user is None or not user.check_password(form.password.data)):
            flash('Invalid user information')
            return redirect(url_for('routes.login'))
        # Log in the user (Only reaches here if the information is valid)
        login_user(user)
        return redirect(url_for('routes.home'))
    # If the user is opening the webpage
    else:
        return render_template("login.html", form=form)
Exemplo n.º 10
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash(f'Login requested for user { form.username.data }, remember_me {form.remember_me.data}')
        return redirect(url_for('homepage'))
    return render_template('login.html', title = 'Login', form=form)
Exemplo n.º 11
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash(f"{form.username.data} Successfully logged in")
        return redirect(url_for('home'))
    return render_template('login.html', form=form)
Exemplo n.º 12
0
    def login(self, request):
        """
        Logs the user into the system given a username and password.
        :param request: The request is passed through so we can access the form
                        contained inside it.
        :return: A view based on whether the login was sucessfull (redirecting
                to /dashboard or back to the login screen if the login was
                unsuccesful)
        """
        if current_user.is_authenticated:
            return redirect("/dashboard")

        # Try to load the available schemes
        try:
            scheme_options = self._get_scheme()
        except Exception as e:
            flash("Error logging in, please check the data that was entered")

        login_form = LoginForm(request.form)
        login_form.scheme_id.choices = scheme_options

        try:
            if request.method == "POST":  # If the user is trying to login
                if login_form.validate_on_submit():  # If the form is validated
                    scheme_id = login_form.scheme_id.data
                    k_number = login_form.k_number.data

                    if not self._student_handler.user_exist(
                            scheme_id, k_number):
                        flash(
                            "This k_number and password combination does not exist in our database."
                        )
                        return redirect("/login")

                    try:
                        user = Student(scheme_id, k_number)
                    except:
                        flash('You must first confirm your email address')
                        return redirect("/login")

                    # if user exists in db then a password hash was successfully retrieved
                    if user.password:
                        # check if he is authorised
                        if check_password_hash(user.password,
                                               login_form.password.data):
                            # redirect to profile page, where he must insert his preferences
                            login_user(user, remember=False)
                            return redirect("/dashboard")
                        else:
                            flash('The password you entered is incorrect')
                            return redirect("/login")
                    else:  # The user is loading the page
                        return redirect("/login")
                else:
                    flash(
                        "Error logging in, please check the data that was entered"
                    )
                    return render_template("login.html", login_form=login_form)

            return render_template("login.html", login_form=login_form)
        except Exception as e:
            self._log.exception(
                "Oops... Something went wrong. The data entered could not be valid, try again."
            )
            raise abort(500)