def register_email():
verify = verify_recaptcha_form()
if not verify:
return template("login.htm", email_login_error = "ReCAPTCHA verification failed")
email = request.forms.get('email')
msg = 'An email has been sent to the address provided with login information'
# validate email
# check that user does not already exist
user = None
for user2 in r.table('users').get_all(["email", email], index = 'identity_check').run(conn()):
user = user2
if user:
user['authlink'] = str(uuid.uuid4())
r.table('users').replace(user).run(conn())
link = "%s/login/email/%s/%s" % (config['SITE_URL'], email, user['authlink'])
users.mail(user, 'login information', REGISTER_EMAIL_HTML.substitute(link=link),
REGISTER_EMAIL_TEXT.substitute(link=link))
users.flash('info', msg)
else:
authlink = uuid.uuid4()
user = {
"identity_type": "email",
"identity": email,
"authlink": str(uuid.uuid4()),
"subscribed": True,
"last_update": r.now(),
}
r.table('users').insert(user).run(conn())
link = "%s/login/email/%s/%s" % (config['SITE_URL'], email, user['authlink'])
users.mail(user, 'confirmation', REGISTER_EMAIL_HTML.substitute(link=link),
REGISTER_EMAIL_TEXT.substitute(link=link))
users.flash('info', msg)
return redirect('/login')
评论列表
文章目录