Example #1
0
def resetpwd(token=''):
    msg = None
    form = ResetPwdForm()
    if token != '':
            form.token.data = token

    if not form.token.data:
        return redirect(url_for('index.home'))

    token_str = str(form.token.data)
    user = None
    try:
        data = EncryptionUtil.decrypt(token_str).split('#')
        user = User.get_by_id(data[0])
        if user.email != data[1]:
            return redirect(url_for('index.home'))
    except Exception as e:
        return redirect(url_for('index.home'))

    if form.validate_on_submit():
        if user and form.pwd.data:
            user.pwd = str(form.pwd.data)
            User.update(user)
            login_user(user)
            return redirect(url_for('index.home'))

    return render_template('account/resetpwd.html', form=form)
Example #2
0
def findpwd():
    msg = None
    email = None
    form = FindPwdForm()
    user = None
    if form.validate_on_submit():
        email = str(form.email.data)
        user = User.get_by_email(email)
        if user:
            token = EncryptionUtil.encrypt(str(user.id) + '#' + str(user.email))
            mailbody = '''
            要重设您的  帐户 {0} 的密码,请点击以下链接:<br/>
            <a>http://127.0.0.1:5000/account/resetpwd/{1}<a/> <br/>
            如果点击以上链接没有反应,请将该网址复制并粘贴到新的浏览器窗口中。'''
            MailUtil.send_mail('找回密码', mailbody.format(email, token), email)
        else:
            msg = '该邮箱没有注册,请核对信息'

    return render_template('account/findpwd.html', msg=msg, email=email, user=user, form=form)