Exemplo n.º 1
0
def login():
    form = Login()
    if form.validate_on_submit():
        username = user.query.filter_by(email=form.email.data).first()
        print(
            username,
            bcrypt.check_password_hash(username.password, form.password.data))
        if username and bcrypt.check_password_hash(username.password,
                                                   form.password.data):
            login_user(username, remember=True)
            return redirect(url_for('home'))
        else:
            flash('Login unsuccessful. Please check email and password.')
    return render_template("login.html", form=form)
def login():
    notice = Notice_Post.query.all()
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()

    if form.validate_on_submit():
        user = Worker.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            if form.email.data == '*****@*****.**' and form.password.data == 'admin':
                next_page = request.args.get('next')
                return redirect(next_page) if next_page else redirect(
                    url_for('admin'))
            else:
                login_user(user)
                next_page = request.args.get('next')
                return redirect(next_page) if next_page else redirect(
                    url_for('home'))
        else:
            flash('Login Unsuccessful. Pleach check again', 'danger')
    return render_template('login.html',
                           title='Login',
                           form=form,
                           notice=notice)
Exemplo n.º 3
0
def update_password():
    form = UpdatePassword()
    if form.validate_on_submit():
        if not bcrypt.check_password_hash(current_user.password,
                                          form.prev_password.data):
            flash(f'Incorrect Password', 'danger')
        else:
            current_user.password = bcrypt.generate_password_hash(
                form.password.data)
            db.session.commit()
            flash('Password was Updated', 'success')
    return render_template('update_password.html', form=form)
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        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')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login Unsuccessful', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemplo n.º 5
0
def login():
    if current_user.is_authenticated:
        return redirect(location=url_for(endpoint='home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user and bcrypt.check_password_hash(pw_hash=user.password, password=form.password.data):
            login_user(user=user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash(message="ورود شما با موفقیت انجام شد!", category='success')
            return redirect(location=next_page if next_page else url_for(endpoint='home'))
        else:
            flash(message="نام کاربری یا رمز عبور وارد شده صحیح نمیباشد!",
                  category='danger')
    return render_template(template_name_or_list='login.html', form=form)
Exemplo n.º 6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.blog'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        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')
            return redirect(next_page) if next_page else redirect(
                url_for('main.blog'))
        else:
            flash("Loging Failed! Please check email and password",
                  "flash-unsuccess")
    return render_template("LoginPage.html", title="Login Page", form=form)
Exemplo n.º 7
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):
            next_page = request.args.get('next')
            login_user(user)
            flash(f'Welcome {current_user.first_name}!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash(f"Your login credentials don't match", 'danger')

    return render_template('login.html', form=form)
Exemplo n.º 8
0
def login():
    """route for login page that uses login form,after account validation user gets redirected to home page"""
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        existing_user = User.query.filter_by(
            username=form.username.data).first()
        if existing_user and bcrypt.check_password_hash(
                existing_user.password, form.password.data):
            login_user(existing_user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash("Login Failed, please check your username and password",
                  'warning')
    return render_template('login.html', title='Login', form=form)
def login():
    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, remember=form.remember.data)
            next_page = request.args.get(
                'next'
            )  #this next variable is seen when we manually type the route...
            if next_page:
                next_page = next_page[1:]
            flash(f'You have successfully logged in!', 'success')
            return redirect(url_for(next_page)) if next_page else redirect(
                url_for('home'))
        else:
            flash(f'Error! There must be something wrong', 'danger')

    return render_template("login.html", title="register", form=form)
Exemplo n.º 10
0
def login():
    """Log user in"""

    # If user is authenticated return tasks
    if current_user.is_authenticated:
        return redirect(url_for('tasks.task'))

    # User reached route via POST (as by submitting a form via POST)
    if request.method == 'POST':

        # Regular expression for validating an Email
        regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'

        # Make sure user exist
        if (re.search(regex, request.form.get('username'))):
            # Query database for email address
            user = users.query.filter_by(
                email=request.form.get('username')).first()
            if not user:
                flash("Email does not exits", "info")
                return redirect(url_for('user.login'))
        else:
            # Query database for username
            user = users.query.filter(
                func.lower(users.username) == func.lower(
                    request.form.get('username'))).first()
            if not user:
                flash("Username does not exits", "info")
                return redirect(url_for('user.login'))

        # Ensure username exists and password is correct
        if user and bcrypt.check_password_hash(
                user.hash, request.form.get('user_password')):
            login_user(user)
            flash("login Successful", "info")
            return redirect(url_for('tasks.task'))
        else:
            flash("Incorrect username or password.", "danger")
            return redirect(url_for('user.login'))

    return render_template("login.html")
Exemplo n.º 11
0
def profile():
    form = ProfileForm()
    if form.validate_on_submit():
        if not bcrypt.check_password_hash(current_user.password,
                                          form.password.data):
            flash(f'Incorrect Password', 'danger')
        else:
            current_user.first_name = form.first_name.data
            current_user.last_name = form.last_name.data
            current_user.email = form.email.data
            image_name = current_user.picture
            if form.picture.data:
                image_name = save_picture(form.picture.data, 'profile')
            current_user.picture = image_name
            db.session.commit()
            flash('Account was Updated', 'success')
    elif request.method == 'GET':
        form.first_name.data = current_user.first_name
        form.last_name.data = current_user.last_name
        form.email.data = current_user.email
    return render_template('profile.html', form=form)
Exemplo n.º 12
0
def login():
    form = LoginForm()

    if 'username' in session:
        return redirect(url_for('home'))

    # Conditional that checks if the login is successful
    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):
            session['username'] = user.username
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else 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.º 13
0
def account():
    """User account"""

    # User reached route via POST (as by submitting a form via POST)
    if request.method == 'POST':

        # Form variables
        username = request.form.get("username")
        email = request.form.get('email')
        password = request.form.get("new_password")
        avatar = request.files['file']

        # Ensure username was submitted
        if username:
            # Query database for username
            user = users.query.filter(
                func.lower(users.username) == func.lower(username)).first()

            # Ensure username does not exist
            if user:
                flash("Username exit. Please try another username", "info")
                return redirect(url_for('user.account'))
            # Update database user's username
            else:
                current_user.username = username
                db.session.commit()

        # Ensure email was submitted
        if email:

            # Ensure email address match with pattern '*****@*****.**'
            regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
            if (re.search(regex, email)):

                # Query database for username
                userEmail = users.query.filter(
                    func.lower(users.email) == func.lower(email)).first()

                # Ensure email does not exist
                if userEmail:
                    flash("Email exit. Please try another username", "info")
                    return redirect(url_for('user.account'))
                else:
                    current_user.email = email
                    db.session.commit()
            else:
                flash("Invalid Email format", "info")
                return redirect(url_for('user.account'))

        # Ensure password was submitted
        if password:

            # Ensure password and confirmation are the same
            if request.form.get("new_password") != request.form.get(
                    "password_confirmation"):
                flash("The password did not match", "danger")
                return redirect(url_for('user.account'))

            # Ensure old password is correct
            elif bcrypt.check_password_hash(current_user.hash,
                                            request.form.get('user_password')):
                hash = bcrypt.generate_password_hash(password).decode('utf-8')
                current_user.hash = hash
                db.session.commit()
            else:
                flash("Wrong password. Try again", "danger")
                return redirect(url_for('user.account'))

        # Ensure image was submitted
        if avatar:

            # Save avatar img return img name
            picFile = savePicture(avatar)

            # Update user's image_file
            current_user.image_file = picFile
            db.session.commit()

        # Make sure to show message if account updated
        if username or email or password or avatar:
            flash("Your account has been updated", "info")
            return redirect(url_for('user.account'))

    # User image file 'avatar'
    image_file = url_for('static',
                         filename='avatars/' + current_user.image_file)
    return render_template('account.html', avatar=image_file)