本文整理汇总了Python中qiita_db.user.User.generate_reset_code方法的典型用法代码示例。如果您正苦于以下问题:Python User.generate_reset_code方法的具体用法?Python User.generate_reset_code怎么用?Python User.generate_reset_code使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qiita_db.user.User
的用法示例。
在下文中一共展示了User.generate_reset_code方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from qiita_db.user import User [as 别名]
# 或者: from qiita_db.user.User import generate_reset_code [as 别名]
def post(self):
message = ""
level = ""
page = "lost_pass.html"
user_id = None
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
message = "ERROR: Unknown user."
level = "danger"
else:
user_id = user.id
user.generate_reset_code()
info = user.info
try:
send_email(user.id, "Qiita: Password Reset", "Please go to "
"the following URL to reset your password: \n"
"%s/auth/reset/%s \nYou "
"have 30 minutes from the time you requested a "
"reset to change your password. After this period, "
"you will have to request another reset." %
(qiita_config.base_url, info["pass_reset_code"]))
message = ("Check your email for the reset code.")
level = "success"
page = "index.html"
except Exception as e:
message = ("Unable to send email. Error has been registered. "
"Your password has not been reset.")
level = "danger"
LogEntry.create('Runtime', "Unable to send forgot password "
"email: %s" % str(e), info={'User': user.id})
self.render(page, user=user_id, message=message, level=level)
示例2: post
# 需要导入模块: from qiita_db.user import User [as 别名]
# 或者: from qiita_db.user.User import generate_reset_code [as 别名]
def post(self):
message = ""
level = ""
page = "lost_pass.html"
user_id = None
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
message = "ERROR: Unknown user."
level = "danger"
else:
user_id = user.id
user.generate_reset_code()
info = user.info
try:
send_email(user.id, "Qiita: Password Reset", "Please go to "
"the following URL to reset your password: "
"http://qiita.colorado.edu/auth/reset/%s" %
info["pass_reset_code"])
message = ("Check your email for the reset code.")
level = "success"
page = "index.html"
except Exception as e:
message = ("Unable to send email. Error has been registered. "
"Your password has not been reset.")
level = "danger"
LogEntry.create('Runtime', "Unable to send forgot password "
"email: %s" % str(e), info={'User': user.id})
self.render(page, user=user_id, message=message, level=level)
示例3: post
# 需要导入模块: from qiita_db.user import User [as 别名]
# 或者: from qiita_db.user.User import generate_reset_code [as 别名]
def post(self):
error = ""
try:
user = User(self.get_argument("email"))
except QiitaDBUnknownIDError:
error = "ERROR: Unknown user."
else:
user.generate_reset_code()
info = user.info
try:
send_email(user, "QIITA: Password Reset", "Please go to the "
"following URL to reset your password: "
"http://qiita.colorado.edu/auth/reset/%s" %
info["pass_reset_code"])
error = "Password reset. Check your email for the reset code."
except Exception as e:
error = "Unable to send email."
LogEntry.create('Runtime', "Unable to send forgot password "
"email" % str(e), info={'User': user.id})
self.render("lost_pass.html", user=None, error=error)
示例4: UserTest
# 需要导入模块: from qiita_db.user import User [as 别名]
# 或者: from qiita_db.user.User import generate_reset_code [as 别名]
#.........这里部分代码省略.........
self.assertEqual(user.shared_studies, set())
def test_get_private_analyses(self):
user = User('[email protected]')
qiita_config.portal = "QIITA"
self.assertEqual(user.private_analyses, set([1, 2]))
qiita_config.portal = "EMP"
self.assertEqual(user.private_analyses, set())
def test_get_shared_analyses(self):
user = User('[email protected]')
qiita_config.portal = "QIITA"
self.assertEqual(user.shared_analyses, set([1]))
qiita_config.portal = "EMP"
self.assertEqual(user.shared_analyses, set())
def test_verify_code(self):
sql = ("insert into qiita.qiita_user values ('[email protected]', '1', "
"'testtest', 'testuser', '', '', '', 'verifycode', 'resetcode'"
",null)")
self.conn_handler.execute(sql)
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'create'))
self.assertFalse(User.verify_code('[email protected]', 'wrongcode',
'reset'))
self.assertTrue(User.verify_code('[email protected]', 'verifycode',
'create'))
self.assertTrue(User.verify_code('[email protected]', 'resetcode',
'reset'))
# make sure errors raised if code already used or wrong type
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'verifycode', 'create')
with self.assertRaises(QiitaDBError):
User.verify_code('[email protected]', 'resetcode', 'reset')
with self.assertRaises(IncompetentQiitaDeveloperError):
User.verify_code('[email protected]', 'fakecode', 'badtype')
# make sure default analyses created
sql = ("SELECT email, name, description, dflt FROM qiita.analysis "
"WHERE email = '[email protected]'")
obs = self.conn_handler.execute_fetchall(sql)
exp = [['[email protected]', '[email protected]', 'dflt', True],
['[email protected]', '[email protected]', 'dflt', True]]
self.assertEqual(obs, exp)
def _check_pass(self, passwd):
obspass = self.conn_handler.execute_fetchone(
"SELECT password FROM qiita.qiita_user WHERE email = %s",
(self.user.id, ))[0]
self.assertEqual(hash_password(passwd, obspass), obspass)
def test_change_pass(self):
self.user._change_pass("newpassword")
self._check_pass("newpassword")
self.assertIsNone(self.user.info["pass_reset_code"])
def test_change_pass_short(self):
with self.assertRaises(IncorrectPasswordError):
self.user._change_pass("newpass")
self._check_pass("password")
def test_change_password(self):
self.user.change_password("password", "newpassword")
self._check_pass("newpassword")
def test_change_password_wrong_oldpass(self):
self.user.change_password("WRONG", "newpass")
self._check_pass("password")
def test_generate_reset_code(self):
user = User.create('[email protected]', 'password')
sql = "SELECT LOCALTIMESTAMP"
before = self.conn_handler.execute_fetchone(sql)[0]
user.generate_reset_code()
after = self.conn_handler.execute_fetchone(sql)[0]
sql = ("SELECT pass_reset_code, pass_reset_timestamp FROM "
"qiita.qiita_user WHERE email = %s")
obscode, obstime = self.conn_handler.execute_fetchone(
sql, ('[email protected]',))
self.assertEqual(len(obscode), 20)
self.assertTrue(before < obstime < after)
def test_change_forgot_password(self):
self.user.generate_reset_code()
code = self.user.info["pass_reset_code"]
obsbool = self.user.change_forgot_password(code, "newpassword")
self.assertEqual(obsbool, True)
self._check_pass("newpassword")
def test_change_forgot_password_bad_code(self):
self.user.generate_reset_code()
code = "AAAAAAA"
obsbool = self.user.change_forgot_password(code, "newpassword")
self.assertEqual(obsbool, False)
self._check_pass("password")
示例5: UserTest
# 需要导入模块: from qiita_db.user import User [as 别名]
# 或者: from qiita_db.user.User import generate_reset_code [as 别名]
#.........这里部分代码省略.........
WHERE email = '[email protected]' AND dflt = true"""
self.assertEqual(self.conn_handler.execute_fetchone(sql)[0], 2)
# Make sure new system messages are linked to user
sql = """SELECT message_id FROM qiita.message_user
WHERE email = '[email protected]'"""
m_id = get_count('qiita.message')
self.assertEqual(self.conn_handler.execute_fetchall(sql), [[m_id]])
def _check_pass(self, passwd):
obspass = self.conn_handler.execute_fetchone(
"SELECT password FROM qiita.qiita_user WHERE email = %s",
(self.user.id, ))[0]
self.assertEqual(hash_password(passwd, obspass), obspass)
def test_change_pass(self):
self.user._change_pass("newpassword")
self._check_pass("newpassword")
self.assertIsNone(self.user.info["pass_reset_code"])
def test_change_pass_short(self):
with self.assertRaises(IncorrectPasswordError):
self.user._change_pass("newpass")
self._check_pass("password")
def test_change_password(self):
self.user.change_password("password", "newpassword")
self._check_pass("newpassword")
def test_change_password_wrong_oldpass(self):
self.user.change_password("WRONG", "newpass")
self._check_pass("password")
def test_generate_reset_code(self):
user = User.create('[email protected]', 'password')
sql = "SELECT LOCALTIMESTAMP"
before = self.conn_handler.execute_fetchone(sql)[0]
user.generate_reset_code()
after = self.conn_handler.execute_fetchone(sql)[0]
sql = ("SELECT pass_reset_code, pass_reset_timestamp FROM "
"qiita.qiita_user WHERE email = %s")
obscode, obstime = self.conn_handler.execute_fetchone(
sql, ('[email protected]',))
self.assertEqual(len(obscode), 20)
self.assertTrue(before < obstime < after)
def test_change_forgot_password(self):
self.user.generate_reset_code()
code = self.user.info["pass_reset_code"]
obsbool = self.user.change_forgot_password(code, "newpassword")
self.assertEqual(obsbool, True)
self._check_pass("newpassword")
def test_change_forgot_password_bad_code(self):
self.user.generate_reset_code()
code = "AAAAAAA"
obsbool = self.user.change_forgot_password(code, "newpassword")
self.assertEqual(obsbool, False)
self._check_pass("password")
def test_messages(self):
add_system_message('SYS MESSAGE', datetime.now())
user = User('[email protected]')
obs = user.messages()
exp_msg = [
(4, 'SYS MESSAGE'),