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