Ejemplo n.º 1
0
def login():
    """
        Shows a form for user to login. When the form is submitted, if the user
        typed in his or her correct credentials, goes to the secret page.
        rtype: str
    """
    # if already logged in, go to user's page
    current_username = session.get("username", None)
    if current_username:
        return redirect(f"/users/{current_username}")
    form = LoginUserForm()

    if form.validate_on_submit():
        # get data submitted
        username = form.username.data
        password = form.password.data

        # authenticate user
        user = User.authenticate(username, password)
        if user:
            session["username"] = user.username
            return redirect(f"/users/{username}")
        flash("Incorrect credentials. Please try again.", "danger")

    return render_template("login.html", form=form)
Ejemplo n.º 2
0
def login():
    form = LoginUserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        user = User.authenticate(username=username, password=password)
        if user:
            session['username'] = user.username
            return redirect(f'/users/{user.username}')
        else:
            form.username.errors = ['Incorrect Username or Password']
    return render_template('login.html', form=form)
Ejemplo n.º 3
0
def login_post():
    """Route to login registered users"""
    form = LoginUserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        user = User.authenticate(username, password)
        if user:
            session["username"] = user.username
            return redirect(f"/users/{username}")
    else:
        form.username.errors = ["invalid username/password"]
        return render_template("login.html")
Ejemplo n.º 4
0
def login_user_form():
    if 'user_username' in session:
        return redirect(f"/user/{session['user_username']}")
    form = LoginUserForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        
        user = User.authenticate(username, password)
        if user:
            flash(f'Login successful for user: {user.username}!')
            session['user_username'] = user.username
            return redirect(f'/user/{user.username}')
        else:
            form.username.errors = ['Invalid username/password.']
    return render_template('login.html', form=form)
Ejemplo n.º 5
0
def user_login():
    if not current_user.is_anonymous:
        return redirect(url_for('index'))

    form = LoginUserForm(request.form)
    if form.validate_on_submit():
        try:
            user = Cliente.get(Cliente.nombre == form.username.data,
                Cliente.password == form.password.data)
            login_user(user)
            session['user_id'] = user.id
            return redirect(url_for('index'))
        except:
            return render_template('login.html', form=form, error=u'Usuario o contraseña invalida')

    return render_template('login.html', form=form)
Ejemplo n.º 6
0
def login():
    """Handle user login."""

    form = LoginUserForm()

    if form.validate_on_submit():
        user = User.login(form.username.data, form.password.data)

        if user:
            do_login(user)
            flash(f"Hello, {user.username}, welcome back!", "success")
            return redirect(f"/news")

        flash("Invalid credentials.", 'danger')

    return render_template('login.html', form=form)
Ejemplo n.º 7
0
def login():
    form = LoginUserForm()

    if "username" in session:
        return redirect(f"/users/{session['username']}")

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        user = User.authenticate(username, password)
        if user:
            session["username"] = user.username
            return redirect(f'/users/{user.username}')
        else:
            form.username.errors = ["Bad name/password"]
    return render_template('login.html', form=form)
Ejemplo n.º 8
0
def login():
    """ Displays login page"""

    form = LoginUserForm()
    
    if form.validate_on_submit():
        
        user = User.login(form.username.data, form.password.data)
        
        if user:
            session["username"] = user.username
            return redirect(f"/users/{user.username}")
        
        else:
            form.username.errors = ["Bad username or password"]

    return render_template('login.html', form=form)
Ejemplo n.º 9
0
def login_user():
  ''' show login form or login new user'''
  # login form
  form = LoginUserForm()
  # validate post
  if form.validate_on_submit():
    un = form.username.data
    pwd = form.password.data
    # authenticate user in User class
    user = User.authenticate(un,pwd)
    if user:
      session['username'] = user.username
      flash(f'logged in as {user.username}','success')
      return redirect(f'/users/{user.username}')
    else:
      form.username.errors = ['Incorrect Username or Password']
  return render_template('/login.html',form=form)
Ejemplo n.º 10
0
def login():
    """Handle user login."""
    if CURR_USER_KEY in session:
        return redirect('/leagues')

    form = LoginUserForm()

    if form.validate_on_submit():
        user = User.authenticate(form.username.data, form.password.data)

        if user:
            do_login(user)
            flash(f"Welcome back, {user.username}!", "success")
            return redirect("/leagues")

        flash("Invalid credentials.", 'danger')

    return render_template('login.html', form=form)
Ejemplo n.º 11
0
def user_login():
    """Login user."""

    form = LoginUserForm()

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

        user = User.authenticate(username, password)

        if user:
            session[CURR_USER_KEY] = user.id
            return redirect('/')
        else:
            form.username.errors = ['Invalid username or password']

    return render_template('login.html', form=form)
Ejemplo n.º 12
0
def login():
    form = LoginUserForm()
    if form.validate_on_submit():
        email = request.form.get('email')
        password = request.form.get('password')
        user = User.query.filter_by(email=email).first()
        if not user:
            flash("That email does not exist, please try again.")
            return redirect(url_for('login'))
        elif not check_password_hash(user.password, password):
            flash("Password incorrect, please try again.")
            return redirect(url_for('login'))
        else:
            login_user(user)
            return redirect(url_for('search'))
    return render_template('login.html',
                           form=form,
                           logged_in=current_user.is_authenticated)
Ejemplo n.º 13
0
def login():
    login_form = LoginUserForm()
    if login_form.validate_on_submit():
        user_email = request.form.get('email')
        user_password = request.form.get('password')
        user = User.query.filter_by(email=user_email).first()
        if not user:
            flash("The email you entered doesn't exists.")
            return redirect(url_for('login'))
        elif not check_password_hash(user.password, user_password):
            flash('Password incorrect, please try again.')
            return redirect(url_for('login'))
        else:
            login_user(user)
            return redirect(url_for('get_all_posts'))
    return render_template("login.html",
                           form=login_form,
                           current_user=current_user)
Ejemplo n.º 14
0
def login():
    """Handle user login."""

    form = LoginUserForm()
    
    if form.validate_on_submit():
        user = User.authenticate(form.username.data,
                                 form.password.data)

        if user is False:
            flash('Invalid login credentials. Please try again', 'danger')     
            return redirect("/login")
        else:
            login_user(user, remember=form.remember.data)
            flash(f"Hello, {user.username}!", "success")
            return redirect('/')

    return render_template('login.html', form=form)
Ejemplo n.º 15
0
def login_view():
    if 'user' in session:
        flash(f"{session['user']}, you are already logged in.", "warning")
        return redirect(url_for('home_view'))

    form = LoginUserForm()

    if form.validate_on_submit():
        username = form.data.get('username')
        password = form.data.get('password')

        user = User.authenticate(username, password)
        if user:
            session["user"] = user.username  # log user in
            return redirect(url_for('user_detail_view', username=username))
        else:
            form.password.errors = ["Username and password do not match!"]
    
    return render_template('login.html', form=form, submit_button="Login")
Ejemplo n.º 16
0
def login():
    """login User to site"""

    if "username" in session:
        return redirect(f'/users/{session["username"]}')

    form = LoginUserForm()
    if form.validate_on_submit():
        data = {k: v for k, v in form.data.items() if k != "csrf_token"}
        user = User.authenticate(**data)

        if user:
            flash(f"Welcome back {user.username}!", "info")
            session["username"] = user.username
            return redirect(f"/users/{user.username}")
        else:
            form.username.errors = ["Invalid username or password"]

    return render_template("login.html", form=form)
Ejemplo n.º 17
0
    def post(self):
        form = LoginUserForm()

        if form.validate_on_submit():
            current_app.config['auth']['username'] = form.username.data
            current_app.config['auth']['password'] = form.password.data

            with xivo_auth(current_app.config['auth']) as auth:
                token_data = auth.token.new('xivo_user', expiration=3600)
                if not token_data:
                    return redirect(url_for('q_loginuser.LoginUser:get'))
                token = token_data['token']

            if token:
                redirect_to_index = redirect(url_for('q_index.Index:index'))
                response = make_response(redirect_to_index)
                response.set_cookie('x-auth-session', token)

                return response
        return render_template('login_user.html', form=form)
Ejemplo n.º 18
0
    def post(self):
        form = LoginUserForm()

        if form.validate_on_submit():
            current_app.config['auth']['username'] = form.username.data
            current_app.config['auth']['password'] = form.password.data

            with xivo_auth(current_app.config['auth']) as auth:
                token_data = auth.token.new('xivo_user', expiration=3600)
                if not token_data:
                    return redirect(url_for('q_loginuser.LoginUser:get'))
                token = token_data['token']

            if token:
                redirect_to_index = redirect(url_for('q_index.Index:index'))
                response = make_response(redirect_to_index)
                response.set_cookie('x-auth-session', token)

                return response
        return render_template('login_user.html', form=form)
Ejemplo n.º 19
0
def show_login_form():
    """ Show form to login a user """

    if session.get('username'):
        return redirect(f"/users/{session.get('username')}")

    form = LoginUserForm()

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

        user = User.authenticate(username, password)

        if user:
            session['username'] = user.username
            return redirect('/secret')
        else:
            form.username.errors = ['Invalid login']

    return render_template('login.html', form=form)
Ejemplo n.º 20
0
def login_user():
    """ Shows form to login user. """

    if "username" in session:
        flash("You're already logged in!")
        return redirect(f'/users/{session["username"]}')

    form = LoginUserForm()

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

        user = User.authenticate(username, password)

        if user:
            session['username'] = user.username
            return redirect(f'/users/{user.username}')
        else:
            form.username.errors = ["Bad name/password"]
    return render_template("login.html", form=form)
Ejemplo n.º 21
0
def login_user():
    """Render login form or handle login."""

    form = LoginUserForm()

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

        # authenticate method will return the user object found or False
        user = User.authenticate(username, password)

        if user:
            flash(f'Welcome back, { user.username }', 'primary')
            session["username"] = user.username  # keep logged in
            # return redirect("/secret")
            return redirect(f'/users/{ user.username }')

        else:
            form.username.errors = ["Invalid username/password"]

    return render_template("/users/login.html", form=form)
Ejemplo n.º 22
0
def login_user():
    """This view function renders the login form on the GET request and authenticates an 
    existing user on teh post request"""

    form = LoginUserForm()
    #Check that the form data is available and has been validated on submit
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data

        user = User.authenticate(username, password)

        if user:
            flash(f"Welcome back {user.username}!", "primary")
            # Add username to the session to stay logged in
            session["username"] = user.username
            return redirect(f"/users/{session['username']}")
        else:
            # If authentication returns false, we add an error to the form to alert the user
            form.username.errors = ["Invalid Username/Password"]

    return render_template("login.html", form=form)
Ejemplo n.º 23
0
def login():
    """ renders log in form; authenticates login info """

    if session.get("username"):
        flash("You're already logged in!")
        return redirect(f"users/{session['username']}")

    form = LoginUserForm()

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

        user = User.authenticate(username, password)

        if user:
            session["username"] = user.username
            return redirect(f"/users/{user.username}")
        else:
            flash("Incorrect credentials")
            return render_template("login_form.html", form=form)

    else:
        return render_template("login_form.html", form=form)