diff --git a/server/www/teleport/static/js/audit/record-list.js b/server/www/teleport/static/js/audit/record-list.js
index fb6b7e9..104b114 100644
--- a/server/www/teleport/static/js/audit/record-list.js
+++ b/server/www/teleport/static/js/audit/record-list.js
@@ -185,9 +185,9 @@ $app.on_table_host_cell_created = function (tbl, row_id, col_key, cell_obj) {
if (action === 'replay') {
//$app.dlg_edit_host.show_edit(row_id);
- if(row_data.protocol_type === TP_PROTOCOL_TYPE_RDP) {
+ if (row_data.protocol_type === TP_PROTOCOL_TYPE_RDP) {
$tp.notify_error('sorry, not impl.');
- } else if(row_data.protocol_type === TP_PROTOCOL_TYPE_SSH) {
+ } else if (row_data.protocol_type === TP_PROTOCOL_TYPE_SSH) {
window.open('/audit/replay/' + row_data.protocol_type + '/' + row_data.id);
}
} else if (action === 'cmd') {
@@ -282,10 +282,16 @@ $app.on_table_host_render_created = function (render) {
_style = 'primary';
return ' ' + tp_second2str(tp_local2utc() - fields.time_begin) + '';
} else {
- if (fields.time_end === 0)
- return ' 未知';
- else
- return tp_second2str(fields.time_end - fields.time_begin);
+ if (fields.time_end === 0) {
+ return ' 未知';
+ }
+ else {
+ if (fields.state === TP_SESS_STAT_ERR_START_RESET) {
+ return ' ' + tp_second2str(fields.time_end - fields.time_begin) + '';
+ } else {
+ return tp_second2str(fields.time_end - fields.time_begin);
+ }
+ }
}
// if (fields.time_end === 0) {
diff --git a/server/www/teleport/webroot/app/model/record.py b/server/www/teleport/webroot/app/model/record.py
index 4c5e443..ca2fd61 100644
--- a/server/www/teleport/webroot/app/model/record.py
+++ b/server/www/teleport/webroot/app/model/record.py
@@ -254,16 +254,24 @@ def delete_log(log_list):
def session_fix():
try:
- ret = True
db = get_db()
- sql = 'UPDATE `{}record` SET state={} WHERE state={};'.format(db.table_prefix, TP_SESS_STAT_ERR_RESET, TP_SESS_STAT_RUNNING)
- if not db.exec(sql):
- ret = False
- sql = 'UPDATE `{}record` SET state={} WHERE state={};'.format(db.table_prefix, TP_SESS_STAT_ERR_START_RESET, TP_SESS_STAT_STARTED)
- if not db.exec(sql):
- ret = False
- return ret
+
+ sql_list = []
+
+ sql = 'UPDATE `{dbtp}record` SET state={new_state}, time_end={time_end} WHERE state={old_state};' \
+ ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_utc_now())
+ sql_list.append(sql)
+ # if not db.exec(sql):
+ # ret = False
+ sql = 'UPDATE `{dbtp}record` SET state={new_state},time_end={time_end} WHERE state={old_state};' \
+ ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_utc_now())
+ sql_list.append(sql)
+ return db.transaction(sql_list)
+ # if not db.exec(sql):
+ # ret = False
+ # return ret
except:
+ log.e('\n')
return False