mirror of https://github.com/tp4a/teleport
temp.
parent
f333a51e07
commit
9a74a0bd28
File diff suppressed because one or more lines are too long
|
@ -51,7 +51,7 @@ $app.on_init = function (cb_stack) {
|
|||
$app.dom.input_username.val($app.options.username);
|
||||
}
|
||||
|
||||
$app.dom.captcha_image.attr('src', '/auth/captcha?' + Math.random());
|
||||
$app.dom.captcha_image.attr('src', '/auth/captcha?h=36&rnd=' + Math.random());
|
||||
|
||||
window.onresize = $app.on_screen_resize;
|
||||
$app.init_blur_bg();
|
||||
|
@ -76,7 +76,7 @@ $app.on_init = function (cb_stack) {
|
|||
$app.dom.btn_login.click($app.login_account);
|
||||
|
||||
$app.dom.captcha_image.click(function () {
|
||||
$(this).attr('src', '/auth/captcha?' + Math.random());
|
||||
$(this).attr('src', '/auth/captcha?h=36&rnd=' + Math.random());
|
||||
$app.dom.input_captcha.focus().val('');
|
||||
});
|
||||
$app.dom.input_username.keydown(function (event) {
|
||||
|
@ -175,7 +175,7 @@ $app.login_account = function () {
|
|||
else {
|
||||
$app.hide_op_box();
|
||||
$app.show_op_box('error', tp_error_msg(ret.code, ret.message));
|
||||
$app.dom.captcha_image.attr('src', '/auth/captcha?' + Math.random());
|
||||
$app.dom.captcha_image.attr('src', '/auth/captcha?h=36&rnd=' + Math.random());
|
||||
$app.dom.input_captcha.focus().select().val('');
|
||||
}
|
||||
|
||||
|
|
|
@ -375,329 +375,5 @@
|
|||
}
|
||||
}
|
||||
|
||||
//.table-detail {
|
||||
// width: 100%;
|
||||
//
|
||||
// td {
|
||||
// padding: 5px;
|
||||
// white-space: nowrap;
|
||||
// //width: 100px;
|
||||
//
|
||||
// &.cell-info-name {
|
||||
// width: 180px;
|
||||
// border-right: 1px solid #e7e7e7;
|
||||
// div {
|
||||
// width: 180px;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
//
|
||||
// }
|
||||
// .label {
|
||||
// padding: 3px 5px;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// td.host-offline {
|
||||
// background-color: #ffcecc;
|
||||
// text-align: center;
|
||||
// vertical-align: middle;
|
||||
//
|
||||
// .host-offline-msg {
|
||||
// color: #802506;
|
||||
// font-size: 24px;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// tr.status-danger {
|
||||
// background-color: @color-bg-danger;
|
||||
// color: #fff;
|
||||
//
|
||||
// td.cell-info-name {
|
||||
// border-right: 1px solid #f37272;
|
||||
//
|
||||
// & > a {
|
||||
// //color: lighten(@color-bg-danger, 20%);
|
||||
// color: #ddd;
|
||||
// &:hover {
|
||||
// color: #fff;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//}
|
||||
|
||||
//
|
||||
//.table > thead > tr > th {
|
||||
// padding: 5px 5px;
|
||||
// outline: none;
|
||||
// white-space: nowrap;
|
||||
// font-weight: normal;
|
||||
// text-align: center;
|
||||
// background-color: #ededed;
|
||||
//}
|
||||
//
|
||||
//.table > tbody > tr > td {
|
||||
// padding: 5px;
|
||||
// text-align: center;
|
||||
// vertical-align: middle;
|
||||
//}
|
||||
//
|
||||
//.table > tbody > tr > td .nowrap {
|
||||
// white-space: nowrap;
|
||||
//}
|
||||
//
|
||||
//.table.table-data thead .sorting, .table.table-data thead .sorting_asc, .table.table-data thead .sorting_desc {
|
||||
// cursor: pointer;
|
||||
// position: relative;
|
||||
//}
|
||||
//
|
||||
//.table.table-data thead .sorting > span:after, .table.table-data thead .sorting_asc > span:after, .table.table-data thead .sorting_desc > span:after {
|
||||
// bottom: 4px;
|
||||
// padding-left: 5px;
|
||||
// display: inline-block;
|
||||
// font-family: 'FontAwesome';
|
||||
// opacity: .8;
|
||||
//}
|
||||
//
|
||||
//.table.table-data thead .sorting > span:after {
|
||||
// opacity: .2;
|
||||
// content: "\f0dc";
|
||||
//}
|
||||
//
|
||||
//.table.table-data thead .sorting_asc > span:after {
|
||||
// content: "\f0de";
|
||||
//}
|
||||
//
|
||||
//.table.table-data thead .sorting_desc > span:after {
|
||||
// content: "\f0dd";
|
||||
//}
|
||||
|
||||
//.status {
|
||||
// .status-name {
|
||||
// float: left;
|
||||
// padding: 3px 8px;
|
||||
// background-color: #646464;
|
||||
// border-top-left-radius: 4px;
|
||||
// border-bottom-left-radius: 4px;
|
||||
// //box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
|
||||
// color: #e8e8e8;
|
||||
// border-right: 1px solid #4c4c4c;
|
||||
// //border:1px solid #999;
|
||||
// text-shadow: 1px 1px 0 rgba(0, 0, 0, .6);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// .status-bar-container {
|
||||
// //padding-left:5px;
|
||||
// height: 24px;
|
||||
// //margin-bottom: 20px;
|
||||
// overflow: hidden;
|
||||
// background-color: #c1c1c1;
|
||||
// border-top-right-radius: 4px;
|
||||
// border-bottom-right-radius: 4px;
|
||||
// box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
|
||||
//
|
||||
// .status-value, .status-percent {
|
||||
// height: 100%;
|
||||
// line-height: 24px;
|
||||
// white-space: nowrap;
|
||||
// }
|
||||
//
|
||||
// .status-value {
|
||||
// padding-left: 10px;
|
||||
// color: #2d2d2d;
|
||||
// text-shadow: 1px 1px 0 rgba(255, 255, 255, .3);
|
||||
// }
|
||||
//
|
||||
// .status-bar {
|
||||
// text-align: center;
|
||||
// box-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);
|
||||
//
|
||||
// .status-percent {
|
||||
// padding: 2px;
|
||||
// color: #fff;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// &.status-info {
|
||||
// .status-bar-container {
|
||||
// background-color: lighten(@color-bg-info, 20%);
|
||||
// }
|
||||
// .status-bar {
|
||||
// background-color: @color-bg-info;
|
||||
// }
|
||||
//
|
||||
// .status-value {
|
||||
// background-color: @color-bg-info;
|
||||
// color: #ffffff;
|
||||
// text-shadow: 1px 1px 0 @color-bg-info;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// &.status-primary {
|
||||
// //background-color: @color-bg-primary;
|
||||
// }
|
||||
//
|
||||
// &.status-success {
|
||||
// .status-bar-container {
|
||||
// background-color: lighten(@color-bg-success, 20%);
|
||||
// }
|
||||
// .status-bar {
|
||||
// background-color: @color-bg-success;
|
||||
// }
|
||||
//
|
||||
// .status-value {
|
||||
// background-color: @color-bg-success;
|
||||
// color: #ffffff;
|
||||
// text-shadow: 1px 1px 0 @color-bg-success;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// &.status-warning {
|
||||
// .status-bar-container {
|
||||
// background-color: lighten(@color-bg-warning, 20%);
|
||||
// }
|
||||
// .status-bar {
|
||||
// background-color: @color-bg-warning;
|
||||
// }
|
||||
// .status-value {
|
||||
// background-color: @color-bg-warning;
|
||||
// color: #ffffff;
|
||||
// text-shadow: 1px 1px 0 @color-bg-warning;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// &.status-danger {
|
||||
// .status-bar-container {
|
||||
// background-color: lighten(@color-bg-danger, 10%);
|
||||
// }
|
||||
// .status-bar {
|
||||
// background-color: @color-bg-danger;
|
||||
// }
|
||||
// .status-value {
|
||||
// background-color: @color-bg-danger;
|
||||
// color: #ffffff;
|
||||
// text-shadow: 1px 1px 0 @color-bg-danger;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
//==============================================
|
||||
// 监控点的显示
|
||||
//==============================================
|
||||
.mp {
|
||||
display: inline-block;
|
||||
width: 20%;
|
||||
max-width: 20%;
|
||||
|
||||
.mp-inner {
|
||||
background-color: @color-bg-ignore;
|
||||
//border: 1px solid #555;
|
||||
margin: 3px;
|
||||
border-radius: 4px;
|
||||
//min-height:32px;
|
||||
}
|
||||
|
||||
.mp-name {
|
||||
color: @color-text-ignore;
|
||||
padding: 9px;
|
||||
margin-bottom: 3px;
|
||||
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
//height:32px;
|
||||
//line-height: 32px;
|
||||
|
||||
&.with-target {
|
||||
//padding-top:10px;
|
||||
padding-top: 17px;
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
}
|
||||
.mp-target {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
position: absolute;
|
||||
font-size: 11px;
|
||||
|
||||
padding: 0 5px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
&.mp-disabled {
|
||||
.mp-inner {
|
||||
background-color: @color-bg-ignore;
|
||||
}
|
||||
.mp-name {
|
||||
color: @color-text-ignore;
|
||||
}
|
||||
}
|
||||
&.mp-success {
|
||||
.mp-inner {
|
||||
background-color: @color-bg-success;
|
||||
}
|
||||
.mp-name {
|
||||
color: @color-text-on-dark-bg;
|
||||
}
|
||||
}
|
||||
&.mp-danger {
|
||||
.mp-inner {
|
||||
background-color: @color-bg-danger;
|
||||
}
|
||||
.mp-name {
|
||||
color: @color-text-on-dark-bg;
|
||||
}
|
||||
}
|
||||
&.mp-warning {
|
||||
.mp-inner {
|
||||
background-color: @color-bg-warning;
|
||||
}
|
||||
.mp-name {
|
||||
color: @color-text-on-dark-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.host-offline {
|
||||
background-color: #ffcecc;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
|
||||
padding:0 10px;
|
||||
|
||||
color: #802506;
|
||||
font-size: 20px;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
.tips {
|
||||
display: none;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
.tips {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.host-no-strategy {
|
||||
color: @color-text-ignore;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
@import "_overwrite_gritter";
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
import app.app_ver as app_ver
|
||||
page_title_ = '安装配置TELEPORT服务'
|
||||
%>
|
||||
<%inherit file="../page_maintenance_base.mako"/>
|
||||
## <%inherit file="../page_maintenance_base.mako"/>
|
||||
<%inherit file="../page_single_base.mako"/>
|
||||
|
||||
## <%block name="breadcrumb">
|
||||
## <ol class="breadcrumb">
|
||||
|
@ -10,11 +11,11 @@
|
|||
## </ol>
|
||||
## </%block>
|
||||
|
||||
<%block name="page_header">
|
||||
<h1><i class="fa fa-cog fa-fw"></i> ${self.attr.page_title_}</h1>
|
||||
<%block name="extend_css_file">
|
||||
## <link href="${ static_url('css/maintenance.css') }" rel="stylesheet" type="text/css"/>
|
||||
</%block>
|
||||
|
||||
<%block name="extend_js">
|
||||
<%block name="extend_js_file">
|
||||
<script type="text/javascript" src="${ static_url('js/maintenance/install.js') }"></script>
|
||||
</%block>
|
||||
|
||||
|
@ -24,6 +25,16 @@
|
|||
</script>
|
||||
</%block>
|
||||
|
||||
<%block name="page_header">
|
||||
<div id="page-header" class="header header-fixed-top">
|
||||
<nav class="navbar navbar-fixed-top">
|
||||
<div class="container">
|
||||
<h1><i class="fa fa-cog fa-fw"></i> ${self.attr.page_title_}</h1>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</%block>
|
||||
|
||||
## Begin Main Body.
|
||||
|
||||
<div class="content-box">
|
||||
|
|
|
@ -58,24 +58,11 @@
|
|||
<script type="text/javascript" src="${ static_url('plugins/json2/json2.js') }"></script>
|
||||
<![endif]-->
|
||||
|
||||
## <script type="text/javascript" src="${ static_url('js/tpapp_const.js') }"></script>
|
||||
## <script type="text/javascript" src="${ static_url('js/tpapp_common.js') }"></script>
|
||||
## <script type="text/javascript" src="${ static_url('js/tpapp.js') }"></script>
|
||||
<script type="text/javascript" src="${ static_url('js/tp-utils.js') }"></script>
|
||||
<script type="text/javascript" src="${ static_url('js/tp-const.js') }"></script>
|
||||
## <script type="text/javascript" src="${ static_url('js/tp-assist.js') }"></script>
|
||||
<script type="text/javascript" src="${ static_url('js/teleport.js') }"></script>
|
||||
|
||||
<%block name="extend_js"/>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
## $(document).ready(function () {
|
||||
## tpapp.init();
|
||||
## });
|
||||
|
||||
</script>
|
||||
|
||||
<%block name="embed_js" />
|
||||
|
||||
</body>
|
||||
|
|
|
@ -19,7 +19,9 @@
|
|||
<link href="${ static_url('plugins/bootstrap/css/bootstrap.min.css') }" rel="stylesheet" type="text/css"/>
|
||||
<link href="${ static_url('plugins/font-awesome/css/font-awesome.min.css') }" rel="stylesheet">
|
||||
|
||||
<link href="${ static_url('css/error.css') }" rel="stylesheet" type="text/css"/>
|
||||
## <link href="${ static_url('css/error.css') }" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<link href="${ static_url('css/single.css') }" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<%block name="extend_css_file"/>
|
||||
<%block name="embed_css"/>
|
||||
|
@ -27,21 +29,36 @@
|
|||
|
||||
<body>
|
||||
|
||||
<div id="page-header">
|
||||
<div>
|
||||
<%block name="page_header"/>
|
||||
|
||||
<div id="page-content">
|
||||
<div class="container">
|
||||
<div class="title"><%block name="header_title"/></div>
|
||||
${self.body()}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="page-content">
|
||||
<div class="container">
|
||||
|
||||
${self.body()}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%include file="_footer.mako"/>
|
||||
</div>
|
||||
|
||||
|
||||
## <div id="page-header">
|
||||
## <nav class="navbar navbar-fixed-top">
|
||||
## <div class="container">
|
||||
## <%block name="page_header"/>
|
||||
## </div>
|
||||
## </nav>
|
||||
## </div>
|
||||
|
||||
## <div id="page-content">
|
||||
## <div class="container">
|
||||
##
|
||||
## ${self.body()}
|
||||
##
|
||||
## </div>
|
||||
## </div>
|
||||
|
||||
## <%include file="_footer.mako"/>
|
||||
|
||||
<%block name="extend_content" />
|
||||
|
||||
|
@ -59,11 +76,8 @@
|
|||
<script type="text/javascript" src="${ static_url('js/tp-const.js') }"></script>
|
||||
<script type="text/javascript" src="${ static_url('js/teleport.js') }"></script>
|
||||
|
||||
|
||||
<%block name="extend_js_file"/>
|
||||
|
||||
<%block name="embed_js" />
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,9 +1,9 @@
|
|||
<%!
|
||||
page_title_ = '设置密码'
|
||||
page_title_ = '密码管理'
|
||||
%>
|
||||
<%inherit file="../page_single_base.mako"/>
|
||||
|
||||
<%block name="header_title">
|
||||
<%block name="page_header">
|
||||
<a href="http://teleport.eomsoft.net" target="_blank"><span class="logo"></span></a>
|
||||
</%block>
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
|||
<div class="page-content">
|
||||
<div class="error-box">
|
||||
<div class="error-icon-box">
|
||||
<i class="fa fa-warning"></i>
|
||||
<i id="icon-bg" class="fa fa-warning"></i>
|
||||
</div>
|
||||
<div class="error-message-box">
|
||||
<div id="title" class="title">设置密码</div>
|
||||
|
@ -73,7 +73,7 @@
|
|||
|
||||
<div class="row" style="padding:0 20px;margin-top:10px;">
|
||||
<div class="col-sm-4">
|
||||
<button type="button" class="btn btn-primary" id="btn-send-email" style="width:100%;"><i class="fa fa-check fa-fw"></i> 重置密码</button>
|
||||
<button type="button" class="btn btn-primary" id="btn-send-email" style="width:100%;"><i class="fa fa-search-plus fa-fw"></i> 找回密码</button>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div id="send-result" class="alert alert-danger" style="display: none;"></div>
|
||||
|
@ -109,18 +109,18 @@
|
|||
|
||||
|
||||
|
||||
## <div class="form-group form-group-sm">
|
||||
## <div class="col-sm-4">
|
||||
## <div class="input-group">
|
||||
## <input data-field="password" type="password" class="form-control mono" placeholder="设置新密码">
|
||||
## <span class="input-group-btn"><button class="btn btn-sm btn-default" type="button" id="btn-switch-password"><i class="fa fa-eye fa-fw"></i></button></span>
|
||||
## </div>
|
||||
## </div>
|
||||
## <div class="col-sm-8">
|
||||
## <button type="button" class="btn btn-sm btn-primary" id="btn-reset-password"><i class="fa fa-check fa-fw"></i> 重置密码</button>
|
||||
## </div>
|
||||
## </div>
|
||||
## <div class="clear-float"></div>
|
||||
## <div class="form-group form-group-sm">
|
||||
## <div class="col-sm-4">
|
||||
## <div class="input-group">
|
||||
## <input data-field="password" type="password" class="form-control mono" placeholder="设置新密码">
|
||||
## <span class="input-group-btn"><button class="btn btn-sm btn-default" type="button" id="btn-switch-password"><i class="fa fa-eye fa-fw"></i></button></span>
|
||||
## </div>
|
||||
## </div>
|
||||
## <div class="col-sm-8">
|
||||
## <button type="button" class="btn btn-sm btn-primary" id="btn-reset-password"><i class="fa fa-check fa-fw"></i> 重置密码</button>
|
||||
## </div>
|
||||
## </div>
|
||||
## <div class="clear-float"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -135,6 +135,7 @@
|
|||
|
||||
$app.dom = {
|
||||
title: $('#title'),
|
||||
icon_bg: $('#icon-bg'),
|
||||
|
||||
err_area: $('#error-area'),
|
||||
message: $('#message'),
|
||||
|
@ -146,10 +147,15 @@
|
|||
password_area: $('#password-area')
|
||||
};
|
||||
|
||||
$app.dom.captcha_image.click(function () {
|
||||
$(this).attr('src', '/auth/captcha?h=28&rnd=' + Math.random());
|
||||
$app.dom.input_captcha.focus().val('');
|
||||
});
|
||||
|
||||
if ($app.options.mode === 1) {
|
||||
// show 'find-my-password' page
|
||||
$app.dom.title.text('找回密码');
|
||||
$app.dom.icon_bg.removeClass().addClass('fa fa-search-plus');
|
||||
$app.dom.captcha_image.attr('src', '/auth/captcha?h=28&rnd=' + Math.random());
|
||||
$app.dom.find_password_area.show();
|
||||
} else if ($app.options.mode === 2) {
|
||||
|
|
|
@ -78,21 +78,24 @@ class MeHandler(TPBaseHandler):
|
|||
class ResetPasswordHandler(TPBaseHandler):
|
||||
def get(self):
|
||||
param = {
|
||||
'mode': 0, # mode=1, unknown mode.
|
||||
'mode': 0, # mode=0, unknown mode.
|
||||
'token': '',
|
||||
'code': TPE_PARAM
|
||||
'code': TPE_OK
|
||||
}
|
||||
|
||||
_mode = self.get_argument('mode', 1)
|
||||
_token = self.get_argument('token', None)
|
||||
if _token is None:
|
||||
param['mode'] = 1 # mode=1, show 'find-my-password' page.
|
||||
else:
|
||||
err, email = user.check_reset_token(_token)
|
||||
param['mode'] = 3 # mode=3, show 'set-new-password' page
|
||||
param['token'] = _token
|
||||
param['email'] = email
|
||||
err = user.check_reset_token(_token)
|
||||
|
||||
param['code'] = err
|
||||
param['token'] = _token
|
||||
|
||||
if err != TPE_OK:
|
||||
param['mode'] = 2 # mode=2, show 'error' page
|
||||
else:
|
||||
param['mode'] = 3 # mode=3, show 'set-new-password' page
|
||||
|
||||
self.render('user/reset-password.mako', page_param=json.dumps(param))
|
||||
|
||||
|
@ -469,7 +472,6 @@ class DoResetPasswordHandler(TPBaseJsonHandler):
|
|||
try:
|
||||
user_id = int(args['id'])
|
||||
mode = int(args['mode'])
|
||||
# email = args['email'].strip()
|
||||
password = args['password']
|
||||
except:
|
||||
return self.write_json(TPE_PARAM)
|
||||
|
|
|
@ -292,29 +292,29 @@ def generate_reset_password_token(handler, user_id):
|
|||
|
||||
def check_reset_token(token):
|
||||
db = get_db()
|
||||
s = SQL(db)
|
||||
# s = SQL(db)
|
||||
_time_now = tp_timestamp_utc_now()
|
||||
|
||||
# 0. query user's id
|
||||
sql = 'SELECT user_id, create_time FROM `{dbtp}user_rpt` WHERE token={dbph};'.format(dbtp=db.table_prefix, dbph=db.place_holder)
|
||||
sql = 'SELECT create_time FROM `{dbtp}user_rpt` WHERE token={dbph};'.format(dbtp=db.table_prefix, dbph=db.place_holder)
|
||||
db_ret = db.query(sql, (token,))
|
||||
if db_ret is None or len(db_ret) == 0:
|
||||
return TPE_NOT_EXISTS, ''
|
||||
return TPE_NOT_EXISTS
|
||||
|
||||
user_id = db_ret[0][0]
|
||||
create_time = db_ret[0][1]
|
||||
# user_id = db_ret[0][0]
|
||||
create_time = db_ret[0][0]
|
||||
|
||||
err = s.select_from('user', ['email'], alt_name='u').where('u.id="{user_id}"'.format(user_id=user_id)).query()
|
||||
if err != TPE_OK:
|
||||
return err, ''
|
||||
if len(s.recorder) == 0:
|
||||
return TPE_DATABASE, ''
|
||||
email = s.recorder[0].email
|
||||
# err = s.select_from('user', ['email'], alt_name='u').where('u.id="{user_id}"'.format(user_id=user_id)).query()
|
||||
# if err != TPE_OK:
|
||||
# return err
|
||||
# if len(s.recorder) == 0:
|
||||
# return TPE_DATABASE
|
||||
# email = s.recorder[0].email
|
||||
|
||||
if _time_now - create_time > 24 * 60 * 60:
|
||||
return TPE_EXPIRED, email
|
||||
return TPE_EXPIRED
|
||||
else:
|
||||
return TPE_OK, email
|
||||
return TPE_OK
|
||||
|
||||
|
||||
def update_login_info(handler, user_id):
|
||||
|
|
Loading…
Reference in New Issue