コード例 #1
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, remember=form.remember.data)
            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)
コード例 #2
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.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, 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. Please check email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #3
0
def login():
    if current_user.is_authenticated:  #CHECKS IF USER IS ALREADY LOGGED IN
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():  #THIS IS FOR FORM VALIDATION
        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')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')  #THIS MESSAGE GETS TO LAYOUT PAGE
    return render_template('login.html', title='Login', form=form)
コード例 #4
0
ファイル: routes.py プロジェクト: JIOjosBG/shop_web
def login():
    form = LoginForm()
    email = form.email.data
    password = form.password.data
    remember = form.remember.data
    if form.validate_on_submit():
        print(Users.query.all())
        user = Users.query.filter_by(email=email).first()
        if user and bcrypt.check_password_hash(user.password, password):
            login_user(user, remember=remember)
            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)
コード例 #5
0
def account():
    form = UpdateAccountForm()
    password_form = ChangePasswordForm()
    formid = request.args.get('formid', 1, type=int)
    if form.validate_on_submit() and formid == 1:
        if form.picture.data:
            picture_fn = save_picture(form.picture.data)
            current_user.image_file = picture_fn
        current_user.first_name = form.first_name.data
        current_user.last_name = form.last_name.data
        current_user.username = form.username.data
        current_user.email = form.email.data
        current_user.dob = form.dob.data
        current_user.gender = form.gender.data
        db.session.commit()
        flash('Your details were updated!', 'success')
        return redirect(url_for('users.account'))
    elif password_form.validate_on_submit() and formid == 2:
        if current_user.login_using != 'Password':
            flash(
                f'You have used {current_user.login_using} to login. Password was not used.',
                'info')
        elif bcrypt.check_password_hash(current_user.password,
                                        password_form.current_password.data):
            hashed_password = bcrypt.generate_password_hash(
                password_form.new_password.data).decode('utf-8')
            current_user.password = hashed_password
            db.session.commit()
            flash('Password updated successfully!', 'success')
        else:
            flash('Current password entered is incorrect!', 'danger')
        return redirect(url_for('users.account'))
    if request.method == 'GET':
        form.username.data = current_user.username
        form.first_name.data = current_user.first_name
        form.last_name.data = current_user.last_name
        form.email.data = current_user.email
        form.dob.data = current_user.dob
        form.gender.data = current_user.gender
        print('gender:', current_user.gender)
    image_file = url_for('static',
                         filename='profile_pics/' + current_user.image_file)
    return render_template('account.html',
                           title='Account',
                           image_file=image_file,
                           form=form,
                           password_form=password_form)
コード例 #6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("home"))

    form = LoginForm()
    if form.validate_on_submit():
        # check's if user exists in the db
        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)
            # if an unauthenticated user wnats to access a @login_required route, the login page will load
            # and when he logs in, the server will return the page that he wanted to enter
            next_page = request.args.get("next")
            return  redirect(next_page) if next_page else redirect(url_for("main.home"))
        else:
            flash('Login Unsuccessful. Please check username and password', 'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #7
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.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, remember=form.remember.data)
            # on the url when redirected to login from another page (url encoded)
            next_page = request.args.get("next")
            # python version of C++ ternary: x > 0 ? true : false;
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash(f"Login failed. Please check email and password.", "danger")
    return render_template("login.html", title="Login", form=form)
コード例 #8
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = db.get_collection("users").find_one(
            {"username": form.username.data})
        if user and bcrypt.check_password_hash(user['password'],
                                               form.password.data):
            login_user(User(user), remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash('Login Unsuccessful. Please check username and password.',
                  'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #9
0
ファイル: routes.py プロジェクト: adrian-aleks/Flask-Blog
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        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)
                flash("You're now logged in.", 'success')
                return redirect(url_for('home'))
            else:
                flash('Unsuccessful login. Please check username and password',
                      'danger')

    return render_template('login.html', title='Register', form=form)
コード例 #10
0
ファイル: routes.py プロジェクト: luciancic/flaskblog
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if not user:
            flash('Email not found', 'danger')
        elif not bcrypt.check_password_hash(user.password, form.password.data):
            flash('Password incorrect', 'danger')
        else:
            login_user(user, remember=form.remember.data)
            flash(f'Logged in as {user.username}', 'success')
            next_url = request.args.get('next')
            return redirect(next_url) if next_url else redirect(
                url_for('main.home'))
    return render_template('login.html', title='Login', form=form)
コード例 #11
0
ファイル: routes.py プロジェクト: osubuu/flaskblog
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, remember=form.remember.data)
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(url_for("home"))
        # if form.email.data == "*****@*****.**" and form.password.data == "password":
        #     flash("You have been logged in!", "success")
        #     return redirect(url_for("home"))
        else:
            flash("Login Unsuccessful. Please check username and password", "danger")
    return render_template("login.html", title="Login", form=form)
コード例 #12
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        #check is user exists and pass verfies
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            #log them in using our login extension
            login_user(user, remember=form.remember.data)
            #args is a dictionary, get method returns none if next doesn't exsist
            # getting the next page
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login Unsuccessful. Please check email and password.', 'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #13
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        pacjent = Pacjent.query.filter_by(email=form.email.data).first()
        if pacjent and bcrypt.check_password_hash(pacjent.password,
                                                  form.password.data):
            login_user(pacjent, 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(
                'Logowanie nie powiodło się, Proszę sprawdzić e-mail oraz hasło.',
                'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #14
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    login_form = LoginForm()
    if login_form.validate_on_submit():
        user = User.query.filter_by(email=login_form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               login_form.password.data):
            login_user(user, remember=login_form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect('home')
        else:
            flash(f'Check email or password', 'danger')
    return render_template('login.html',
                           title='Login',
                           form=login_form,
                           num_registered=User.get_num_registered())
コード例 #15
0
ファイル: routes.py プロジェクト: ZithaChitra/Flsk_first
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 is the function that logs the user in
            login_user(user, remember=form.remember.data)
            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)
コード例 #16
0
def login():
  if current_user.is_authenticated:
    return redirect(url_for('home'))
  form = LoginForm()
  if form.validate_on_submit():
    # if form.email.data == '*****@*****.**' and form.password.data == 'admin123':
    #   flash('You have been logged in!', 'success')
    #   return redirect(url_for('home'))
    # else:
      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')
        return redirect(next_page) if next_page else redirect(url_for('home'))
      else:
        flash('Login Unsuccessful. Please check your credentials.', 'danger')
  return render_template('login.html', title='Login', form=form)
コード例 #17
0
def adminlogin():

    form = AdminLoginForm()
    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)
            if (current_user.username == 'admin'):
                flash(f'You are logged in as ADMIN', 'success')
                return redirect(url_for('showcomplaints'))
            else:
                flash(f'You\'re not an admin,Switch to User login', 'danger')
        else:
            flash(f'Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('adminlogin.html', title='Login', form=form)
コード例 #18
0
def Login():
    if current_user.is_authenticated:  #if the user is succesfully authenticated then after click it would redirect to home
        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, remember=form.remember.data)
            next_page = request.args.get(
                'next')  #If the url contain the next keyword
            return redirect(next_page) if next_page else redirect(
                url_for('home'))  #terniary condition in python
        else:
            flash('login unsucessfull. Please check email and password',
                  'danger')
    return render_template('Login.html', title='Login', form=form)
コード例 #19
0
def Adminlogin():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = AdminLoginForm()
    if form.validate_on_submit():
        admin = User.query.filter_by(email=form.email1.data).first()
        if admin and bcrypt.check_password_hash(
                admin.password, form.password1.data) and admin.id == 1:
            login_user(admin, remember=form.remember1.data)
            next_page = request.args.get('next')
            app.logger.info(current_user.firstname)
            return redirect(next_page) if next_page else redirect(
                url_for('adminhome'))
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('adminlogin.html', title='Admin Login', form=form)
コード例 #20
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.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')
            # try to access dict with keyname will throw an error if it doesn't exist
            # get solves the problem by returning none if it doesn't exist
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash('Invalid credentials. Try Again.', 'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #21
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 and bcrypt.check_password_hash(user.password, form.password.data):
			login_user(user,remember = form.remember.data)
			current_user.gps = get_coordinates()	
			db.session.commit()
			flash('Login successful','success')
			return redirect(url_for('home'))
		else:
			flash('Login Unsuccessful','danger')
			
	return render_template('login.html', title='Login', form=form)
コード例 #22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data,
                                    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')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home')
            )  # turnery conditionnal when if else in same line and if next_ mean if next_ is not none
        else:
            flash('Login failed. Please check username ,email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #23
0
ファイル: route.py プロジェクト: chwAmu/flaskapps
def login():

	if current_user.is_authenticated:
		return redirect(url_for('home'))

	form=LoginForm()
	#if sumbit is pressed in the login page
	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)
			# http://localhost:5000/login?next=%2Faccount
			# if the guys click the page before login
			next_page=request.args.get('next')
			return redirect(next_page) if next_page else redirect(url_for('home'))
		else:
			flash('login failed...','danger')
	return render_template('login.html',title='login',form=form)
コード例 #24
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        password_checking = bcrypt.check_password_hash(user.password,
                                                       form.password.data)
        if user and password_checking:
            login_user(user, remember=form.remember_me.data)
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash(
                f"Login Was Unsuccessful 😕, Please check your username and password!",
                "danger")
    return render_template("login.html", title="Login", form=form)
コード例 #25
0
def login():
    if current_user.is_authenticated:
        next = request.args.get('next')
        return redirect(next or url_for('admin'))
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User.query.filter_by(username=form.username.data).first()
        if not user:
            flash('This user not exists', 'warning')
            return redirect(url_for('login'))
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user)
            flash('Logged in successfully.', 'success')
            next = request.args.get('next')
            return redirect(next or url_for('admin'))
        flash('Invalid password', 'danger')
    return render_template('admin/login.html', form=form)
コード例 #26
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.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):
            #if user is exist and password iscorrect so we neeed tolog user and we use the login functio
            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 Unsuccesfull,Check you credential', 'danger')

    return render_template('login.html', title='Login', form=form)
コード例 #27
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.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, remember=form.remember.data)
            next_page = request.args.get('next')
            flash('You are now Logged in!', 'success')
            if next_page:
                return redirect(next_page)
            else:
                return redirect(url_for('main.home'))
        else:
            flash('Unable to Login!,check credentials', 'danger')
    return render_template('login.html', title="Login", form=form)
コード例 #28
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = forms.SigninForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if not user:
            flash(
                f'The user with an email of {form.email.data} doesn\'t exsist.',
                'danger')
            return redirect(url_for('users.login'))
        if not bcrypt.check_password_hash(user.password, form.password.data):
            flash(f'Wrong password', 'danger')
            return redirect(url_for('users.login'))
        login_user(user, form.remember_me.data)
        flash(f'Login success welcome back {user.username}.', 'success')
        return redirect(url_for('main.home'))
    return render_template('login.html', title='Login', form=form)
コード例 #29
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.is_submitted():
        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')
            return redirect(next_page) if next_page else redirect(
                url_for('home'))
        else:
            flash(
                'Inicio de sesión fallido, compruebe el email y la contraseña',
                'danger')

    return render_template('login.html', title='Login', form=form)
コード例 #30
0
ファイル: routes.py プロジェクト: pathak-ashutosh/flask-blog
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.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, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
            # these 2 lines above are only for when user is logged out and access the account page, in which
            # case a 'next' argument is generated in the address bar indicating where we'll go after login
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
コード例 #31
0
def login():
    form = LoginForm()
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    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')
            if next_page:
                return redirect(next_page)
            return redirect(url_for('home'))
        else:
            print(user)
            flash(f"{form.email.data}! can't be logged in", 'danger')
    return render_template('login.html', title='Login', form=form)