def password_reset(token): if current_user.is_authenticated: return redirect(url_for('main.home')) user = User.validate_reset_token(token) if user is None: flash('Invalid or expired token, Kindly try again', 'warning') return redirect(url_for('users.password_request')) form = PasswordResetForm() 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 has been updated', 'success') return redirect(url_for('users.login')) return render_template('password_reset.html', form=form, title='Password Reset')