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)
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)
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)
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)
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)
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)
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")
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)
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)
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)