Ejemplo n.º 1
0
def password_reset_request():
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        def accept(t):
            return PasswordResetRequest.query.filter_by(token=t).first() is None
        token = random_base64(accept)
        reset_link = url_for('auth.password_reset', _external=True, token=token)
        try:
            send_email(
                subject="Reset your Asset Tracker Password",
                sender=form.email.data,
                recipients=[form.email.data],
                body="Asset Tracker password reset link: %s\r\n\r\n\
                     This link will expire in 24 hours" % reset_link,
                html="Asset Tracker password reset link:<br> <a href=\"%s\">\
                     %s</a> <br><br>This link will expire in 24 hours" %
                     (reset_link, reset_link)
            )
            entry = PasswordResetRequest(
                token,
                User.query.filter_by(email=form.email.data).first()
            )
            db.session.add(entry)
            db.session.commit()
            flash("A link to reset your password has been sent to %s" %
                  form.email.data, "success")

        except Exception, e:
            if current_app.config.get('DEBUG'):
                raise e
            else:
                flash("Failed to send invite due to a %s error"
                      % e.__class__.__name__, 'danger')
Ejemplo n.º 2
0
def password_reset_request():
    #如果当前用户匿名,返回主页
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))
#如果不是匿名用户,表单实例
    form = PasswordResetRequestForm()
    #如果提交
    if form.validate_on_submit():
        #筛选出邮箱正确的用户
        user = User.query.filter_by(email=form.email.data).first()
        #如果用户存在
        if user:
            #生成token
            token = user.generate_reset_token()
            #发送邮件
            send_email(user.email,
                       'Reset Your Password',
                       'auth/email/reset_password',
                       user=user,
                       token=token)
#flash
        flash('An email with instructions to reset your password has been '
              'sent to you.')
        #重定向到login页面
        return redirect(url_for('auth.login'))
#返回重设邮箱密码界面
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 3
0
def reset_password_request():
    if not current_user.is_anonymous:
        return redirect(url_for('dashboard.dashboard'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(
                user.email,
                'Reset your password',
                'auth/email/reset_password',
                user=user,
                token=token,
                next=request.args.get('next'),
            )
        flash(
            'An email with instructions to reset your password has been sent to you.',
            'info')
        return redirect(url_for('auth.login'))
    return render_template(
        'auth/reset_password_request.html',
        title="Reset your password",
        form=form,
    )
Ejemplo n.º 4
0
def password_reset_request():
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            reset_password_email(user=user, token=token)
        flash('Password reset instruction have been emailed to you', 'danger')
        return redirect(url_for('auth.login'))

    return render_template('account/password_reset_request.html', form=form)
Ejemplo n.º 5
0
def passwd_reset():
    form = PasswordResetRequestForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email, '重置密码',
                       'auth/email/reset_password',
                       user=user, token=token)
            flash("请登录邮箱重置密码")
            return redirect(url_for('auth.login'))
    return render_template("auth/reset_password.html", form=form)
Ejemplo n.º 6
0
def reset_password_request():
    if current_user.is_authenticated:
        return redirect(url_for('core.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            send_password_reset_email(user)
        flash("Check your email for the instructions to reset your password")
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password_request.html',
                           title="Reset Password",
                           form=form)
Ejemplo n.º 7
0
def password_reset_request():
    if current_user.is_authenticated:
        return redirect(url_for('auth.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            user.send_password_reset_email()
        flash("Check email for instructions to reset your password.")
        return redirect(url_for('auth.welcome'))
    return render_template('auth/password_reset_request.html',
                           title="Password Reset",
                           form=form)
Ejemplo n.º 8
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email, 'Reset',
                       'auth/email/reset_password',
                       user=user, token=token)
        flash('An email with instructions to reset your password has been sent to you.')
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 9
0
def reset_password_request():
    # Prevent already logged in users requesting password reset
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        # Query user and return user object or None
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            # If user exist, send reset link to user email
            send_password_reset_email(user)
        flash('Check your email for password reset.')
        return redirect(url_for('auth.login'))
    return render_template('auth/password_reset_request.html', form=form)
Ejemplo n.º 10
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for('main/index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        token = user.generate_reset_password_token()
        send_email(current_app.config.get('MAIL_TO') or current_user.email,
                   'Reset your password',
                   'auth/email/reset_password',
                   user=user,
                   token=token)
        flash('Email to reset password has been sent.')
        return redirect(url_for('main.index'))
    return render_template('auth/password_reset_request.html', form=form)
Ejemplo n.º 11
0
def password_reset_request():
    if not current_user.is_anonymous():
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email, 'Khôi phục mật khẩu',
                       'auth/email/reset_password',
                       user=user, token=token,
                       next=request.args.get('next'))
        flash(_('Một thư hướng dẫn khôi phục mật khẩu đã được gửi đi'))
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 12
0
def reset_password_request():
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        if user:
            token = user.generate_reset_token()
            send_email(form.email.data,
                       'Password Reset',
                       'auth/mail/reset_password',
                       token=token,
                       user=current_user)
            flash('Password reset link sent with instructions')
        else:
            flash('Invalid email')
    return render_template('auth/forgot_password_request.html', form=form)
Ejemplo n.º 13
0
def password_reset_request():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            send_password_reset_email(user)
        # intentionally apparently sent either way to protect user privacy
        flash(
            _('Check your email for the instructions to reset your password'))
        return redirect(url_for('auth.login'))
    return render_template('auth/password_reset_request.html',
                           title='Reset Password',
                           form=form)
Ejemplo n.º 14
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(
            email=form.email.data.lower().strip()).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email, 'Reset Your Password',
                       'auth/email/reset_password',
                       user=user, token=token,
                       next=request.args.get('next'))
        flash('An email with instructions to reset your password has been '
              'sent to you.')
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 15
0
def password_reset_request():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            send_password_reset_email(user)
        flash(
            _('If your email is registered, you will have been sent an email with password reset instructions.'
              ))
        return redirect(url_for('auth.login'))

    return render_template('auth/password_reset_request.html',
                           title='Password Reset Request',
                           form=form)
Ejemplo n.º 16
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email,
                       '重置你的密码',
                       'auth/email/reset_password',
                       user=user,
                       token=token,
                       next=request.args.get('next'))
        flash('密码更改操作已经发至您的邮箱.')
        return redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 17
0
def password_reset_request():
    if current_user.is_authenticated:
        return redirect(url_for('core.index'))

    form = PasswordResetRequestForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if user:
            send_password_reset_email(user)

        flash(_('Check your email for a link to reset your password.'))
        return redirect(url_for('auth.login'))

    return render_template('auth/password_reset_request.html',
                           title=_('Forgot your password?'),
                           form=form)
Ejemplo n.º 18
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for("main.index"))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(
                user.email,
                "Reset Your Password",
                "auth/email/reset_password",
                user=user,
                token=token,
                next=request.args.get("next"),
            )
        flash("An email with instructions to reset your password has been " "sent to you.")
        return redirect(url_for("auth.login"))
    return render_template("auth/reset_password.html", form=form)
Ejemplo n.º 19
0
def password_reset_request():
    if not current_user.is_anonymous:
        render_template(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = Users.query.filter_by(email=form.email.data).first()
        if user:
            token = user.gengenerate_password_reset_token()
            send_email(user.email,
                       'Reset Password',
                       'auth/email/reset_password',
                       user=user,
                       token=token,
                       next=request.args.get('next'))
            flash('Please check the Reset Password Email in your inbox !')
            return redirect(url_for('auth.login'))
        else:
            flash('Email address does not exist !')
    return render_template('auth/password_reset_request.html', form=form)
Ejemplo n.º 20
0
def password_reset_request():
    # Se o usuário não for anônimo, então o mesmo ja logou e
    # ... será redirecionado para pagina index.
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))

    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()
        if user:
            token = user.generate_reset_token()
            send_email(user.email,
                       'Reset your password',
                       'auth/email/reset_password',
                       user=user,
                       token=token)
            flash('An email with instructions to reset your password '
                  'has been sent to you')
            redirect(url_for('auth.login'))
    return render_template('auth/reset_password.html', form=form)
Ejemplo n.º 21
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for('main.index'))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            # current_user is an AnonymousUserMixin object, which has no attributes of User instances
            # that are UserMixin objects
            token = user.generate_reset_token()
            send_email(user.email,
                       '重置密码',
                       'auth/email/reset_password',
                       user=user,
                       token=token)
            flash('一封包含密码重置邮件的链接已发送至您的邮箱!')
            return redirect(url_for('auth.login'))
        else:
            flash('未找到对应的用户!')
    return render_template('auth/change_password.html', form=form)
Ejemplo n.º 22
0
def password_reset_request():
    if not current_user.is_anonymous:
        return redirect(url_for("main.index"))
    form = PasswordResetRequestForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            token = user.generate_reset_token()
            send_email(
                user.email,
                "Reset Your Password",
                "auth/email/reset_password",
                user=user,
                token=token,
                next=request.args.get("next"),
            )
        flash("An email with instructions to reset your password has been "
              "sent to you.")
        return redirect(url_for("auth.login"))
    return render_template("auth/reset_password.html", form=form)