def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You are now able to log in', 'success')  # flash takes second argument, it might be 1of3 bootsrap classess: success, warning, error
        return redirect(url_for('users.login'))  # login is name of function!
    return render_template('reset_token.html', title='Reset Password', form=form)
Exemple #2
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash("The token is invalid or has expired", "warning")
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been reset', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title="Reset Password", form=form)
Exemple #3
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8') 
        user.password = hashed_password
        db.session.commit()
        flash(f'Your password has been updated! You are now able to log in.', 'success')
        return redirect(url_for("users.login"))
    return render_template("reset_token.html", title='Reset Password', form=form)
Exemple #4
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash(f'Invalid or expired token.','warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Password Changed Successfully.','success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset Password', form=form)
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You are now able to log in', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset Password', form=form)
Exemple #6
0
def reset_token(token):
    if current_user.is_authenticated:  # if the user is logged in and tries to reset password, redirect home
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token.', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():  # validate the user input upon submitting
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('UTF-8')  # hash the user password
        user.password = hashed_password
        db.session.commit()  # commit this new password to the database
        flash(f'Your password has been updated!', 'success')  # display a message for successful submit
        return redirect(url_for('users.login'))  # redirect the user after a successful submit
    return render_template('reset_token.html', title='Reset Password', form=form)
Exemple #7
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Password updated successfully. You can now log in!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset password', form=form, prof_pic=firebase_storage.prof_img(current_user))
Exemple #8
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home')) 
    user = User.verify_reset_token(token)  #verify_reset_token is a function in User model.(you created)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data)
        user.password = hashed_password
        db.session.commit()
        flash("Your password has been reset successfuly, you are now able to login", 'success')
        return redirect(url_for('users.login'))        
    return render_template('reset_token.html', title='Reset Password', form=form)
Exemple #9
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = Users.verify_reset_token(token)
    if user is None:
        flash('This is invalid token!!', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated!!, You are able to login!!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset Password', form=form, legend='Reset Password')
Exemple #10
0
def reset_token(token):
    if current_user.is_authenticated: # user is already logged in, no need to show them password reset request page
        return redirect(url_for('posts.posts'))
    user = User.verify_reset_token(token)
    if user is None: # couldn't verify token
        flash('That is an invalid or expired token.', 'warning')
        return redirect(url_for('users.reset_request'))

    form = ResetPasswordForm()
    if form.validate_on_submit(): # validate POST data
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password # already have all their data since they're already a user. just need to update their password with a new hashed pw
        db.session.commit()
        flash(f"Your password has been updated! You are now able to log in", 'success') # flash message, using python f-strings. 2nd arg is a "category". 'success' is Bootstrap style
        return redirect(url_for('users.login')) # is a valid form so now we redirect to posts page
    return render_template('reset_token.html', title = 'Reset Password', form = form)
Exemple #11
0
def reset_password(token):
	if current_user.is_authenticated:
		return redirect(url_for('main.home'))

	form = ResetPasswordForm()
	if form.validate_on_submit():
		user = User.get_user_from_token(token)
		if user is None:
			flash('Password reset link has been expired.', 'warning')
			return redirect(url_for('users.forgot_password'))
		else:
			user.password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
			db.session.commit()
			flash('Password Updated Successfully', 'success')
			return redirect(url_for('users.login'))
	return render_template('reset_password.html', form=form, title="Reset Password")
Exemple #12
0
def reset_password(token):
    if current_user.is_authenticated:
        return redirect(url_for('users.account'))
    user = User.verify_reset_token(token)
    if not user:
        flash('Invalid or Expired Token, Try Again.', 'error')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Password updated', 'success')
        return redirect(url_for('users.login'))
    return render_template('passwordReset.html', form=form)
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your accoutn has been updated. You can no login', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset Token', form=form)
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token=token)
    if user is None:
        flash('הקוד לא נכון\לא תקף. בבקשה נסו שוב.', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_pw
        db.session.commit()
        flash(f'{user.username}, הסיסמה שלך השתנתה! עכשיו אפשר להיכנס!',
              'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', form=form)
Exemple #15
0
def reset_abc(token):
    # user login check
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    #if valid, return user with its id(payload we passed to intial tokn)
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_passsword = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_passsword
        db.session.commit()
        flash('Your password has been updated! You are now able to login', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html', title='Reset Password', form=form)
Exemple #16
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for(HOME))
    user = User().verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Your password has been updated!', 'success')
        return redirect(url_for(LOGIN))

    return render_template('reset_token.html', title="Reset Password", form=form)
Exemple #17
0
def reset_token(token):
    if current_user.is_authenticated: return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if not user:
        flash('Invalid or expired token', 'ui warning message')
        return redirect(url_for('.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Your password has been updated!', 'ui positive message')
        return redirect(url_for('.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Exemple #18
0
def reset_token(token):
    if current_user.is_authenticated():
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('Sorry, that is an invalid or expired token', 'warning')
        return redirect(url_for('.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.set_password(form.password.data)
        db.session.commit()
        flash('Your password has been updated! You are now able to log in',
              'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Exemple #19
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token!', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = generate_password_hash(form.password.data)
        user.password = hashed_password
        db.session.commit()
        flash('Password has been reset. Now you can log in!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Exemple #20
0
def reset_token(token):
    user = User.verify_reset_token(token)
    if not user:
        flash("That is an invalid or expired link", category='warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        print(form.password.data)
        hashed_password = bcrpyt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Your password has been updated!', category='success')
        return redirect(url_for('users.login'))
    return render_template('reset_password.html',
                           title='Reset Password',
                           form=form)
Exemple #21
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    user = User.verify_reset_token(token)    
    if user is None:
        flash("That is an expired token", "warning")
        return redirect(url_for("reset_request"))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        # takes the password from the form and encrypts it
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        # the second arg is for the bootstrap class
        flash("Your password has been updated", "success")
        return redirect(url_for("login"))
    return render_template('reset_token.html', title="Reset Password", form=form)
Exemple #22
0
def reset_token(token):
    if current_user.is_authenticated:  # if the user's logged out only then he needs to reset password
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token!', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Your password has been updated! You can now log in', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Exemple #23
0
def reset_token(token):  # Will ge token by the url that was sent to the user.
    if current_user.is_authenticated:
        return render_template(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash("That is an invalid or expired token", 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        encrypt_pwd = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = encrypt_pwd  # Update password
        db.session.commit()
        flash("Your password has been updated!, please log in.", 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
def reset_token(token):
    """this is where they enter a new password, after verifying the email"""
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    user = User.verify_reset_token(token)
    if user is None:
        flash("That is an invalid or expired token", "warning")
        return redirect(url_for("users.reset_request"))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        db.create_all()
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()

        flash("Your password has been reset. You may now log in!", "success")
        return redirect(url_for("users.login"))
    return render_template("reset_token.html", title="Reset Password", form=form)
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash("That is an invalid or expired token", 'warning')
        return redirect(url_for('users.request_reset'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.hashpw(form.password.data.encode('UTF-8'),
                                        bcrypt.gensalt())
        user.password = hashed_password
        db.session.commit()
        flash(f'Password updated for {user.username}!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_password.html',
                           title='Reset Password',
                           form=form)
Exemple #26
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.query.filter_by(id=User.verify_reset_token(token)).first()
    if not user:
        flash('Invalid or expired token ', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(f'Password for {user.username} was updated!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           form=form,
                           num_registered=User.get_num_registered())
Exemple #27
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect((url_for('main.home')))

    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid token or expired token', 'warning')
        return redirect(url_for('posts.reset_request'))

    form = ResetPasswordForm()
    if form.validate_on_submit():
        user.password = generate_password_hash(form.password.data)
        db.session.commit()
        flash('Your password has been reset! You can now login', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           tilte='Reset Password',
                           form=form)
Exemple #28
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if not user:
        flash(f"That is an invalid or expire token", 'warning')
        return redirect(url_for('users.reset_password'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = md5(form.password.data.encode()).hexdigest()
        user.password = hashed_password
        db.session.commit()
        flash(f"Your password has been updated", 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title="Reset Password",
                           form=form,
                           legend='Reset Your Password')
Exemple #29
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    user = User.verify_reset_token(token)
    if user is None:
        flash("That is an invalid or expired token.", "warning")
        return redirect(url_for("users.reset_request"))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user.password = hashed_password
        db.session.commit()
        flash("Your password has been updated. You can now log in!", "success")
        return redirect(url_for("users.login"))
    return render_template("reset_token.html",
                           title="Reset Password",
                           form=form)
Exemple #30
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('base.home'))  #if worked redirect to t home
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password  #hashing from form.password.data
        db.session.commit()  #commit changes to user password in DB
        flash('Your passowrd has been updated!', 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Forgot Password',
                           form=form)
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    return render_template('reset_token.html', title='Reset Password', form=form)