mirror of https://github.com/tp4a/teleport
temp: 暂时不允许升级到MySQL,如需使用MySQL,只能在新安装的时候选择使用。
parent
f7b5768155
commit
4c3e98d38d
|
@ -8,12 +8,12 @@ from . import host
|
|||
from . import cert
|
||||
from . import user
|
||||
from . import pwd
|
||||
from . import set
|
||||
from . import config
|
||||
from . import group
|
||||
from . import index
|
||||
from . import record
|
||||
from . import maintenance
|
||||
import tornado.web
|
||||
# import tornado.web
|
||||
|
||||
from eom_app.app.configs import app_cfg
|
||||
|
||||
|
@ -29,8 +29,8 @@ controllers = [
|
|||
(r'/maintenance/install', maintenance.InstallHandler),
|
||||
(r'/maintenance/upgrade', maintenance.UpgradeHandler),
|
||||
(r'/maintenance/rpc', maintenance.RpcHandler),
|
||||
(r'/maintenance/', maintenance.IndexHandler),
|
||||
(r'/maintenance', maintenance.IndexHandler),
|
||||
(r'/maintenance/index', maintenance.IndexHandler),
|
||||
# (r'/maintenance', maintenance.IndexHandler),
|
||||
|
||||
(r'/rpc', rpc.RpcHandler),
|
||||
|
||||
|
@ -111,10 +111,10 @@ controllers = [
|
|||
|
||||
# (r'/set/update-config', set.UpdateConfig),
|
||||
# (r'/set/os-operator', set.OsOperator),
|
||||
(r'/set/info', set.InfoHandler),
|
||||
(r'/set/db', set.DatabaseHandler),
|
||||
# (r'/set/', set.IndexHandler),
|
||||
# (r'/set', set.IndexHandler),
|
||||
# (r'/set/info', config.InfoHandler),
|
||||
# (r'/set/db', config.DatabaseHandler),
|
||||
(r'/config/', config.IndexHandler),
|
||||
(r'/config', config.IndexHandler),
|
||||
|
||||
(r'/uidesign', index.UIDesignHandler),
|
||||
(r'/uidesign/without-sidebar', index.UIDesignWithoutSidebarHandler),
|
||||
|
|
|
@ -13,7 +13,7 @@ from .base import TPBaseAdminAuthHandler, TPBaseAdminAuthJsonHandler
|
|||
cfg = app_cfg()
|
||||
|
||||
|
||||
class InfoHandler(TPBaseAdminAuthHandler):
|
||||
class IndexHandler(TPBaseAdminAuthHandler):
|
||||
@tornado.gen.coroutine
|
||||
def get(self):
|
||||
core_detected = False
|
||||
|
@ -32,34 +32,73 @@ class InfoHandler(TPBaseAdminAuthHandler):
|
|||
cfg.update_core(None)
|
||||
|
||||
_db = get_db()
|
||||
database = '未知'
|
||||
if _db.db_source['type'] == _db.DB_TYPE_SQLITE:
|
||||
database = 'SQLite({})'.format(_db.db_source['file'])
|
||||
elif _db.db_source['type'] == _db.DB_TYPE_MYSQL:
|
||||
database = 'MySQL'
|
||||
# database = '未知'
|
||||
db = _db.db_source
|
||||
# if _db.db_source['type'] == _db.DB_TYPE_SQLITE:
|
||||
# database = 'SQLite({})'.format(_db.db_source['file'])
|
||||
# el
|
||||
if _db.db_source['type'] == _db.DB_TYPE_MYSQL:
|
||||
# database = 'MySQL'
|
||||
del db['password']
|
||||
|
||||
param = {
|
||||
'core': cfg.core,
|
||||
'web': {
|
||||
'version': TS_VER,
|
||||
'core_server_rpc': cfg['core_server_rpc'],
|
||||
'database': database
|
||||
# 'database': database,
|
||||
'db': db
|
||||
}
|
||||
}
|
||||
self.render('set/info.mako', page_param=json.dumps(param))
|
||||
self.render('config/index.mako', page_param=json.dumps(param))
|
||||
|
||||
|
||||
class DatabaseHandler(TPBaseAdminAuthHandler):
|
||||
def get(self):
|
||||
_db = get_db()
|
||||
# class InfoHandler(TPBaseAdminAuthHandler):
|
||||
# @tornado.gen.coroutine
|
||||
# def get(self):
|
||||
# core_detected = False
|
||||
# req = {'method': 'get_config', 'param': []}
|
||||
# _yr = async_post_http(req)
|
||||
# return_data = yield _yr
|
||||
# if return_data is not None:
|
||||
# if 'code' in return_data:
|
||||
# _code = return_data['code']
|
||||
# if _code == 0:
|
||||
# # core['detected'] = True
|
||||
# cfg.update_core(return_data['data'])
|
||||
# core_detected = True
|
||||
#
|
||||
# if not core_detected:
|
||||
# cfg.update_core(None)
|
||||
#
|
||||
# _db = get_db()
|
||||
# database = '未知'
|
||||
# if _db.db_source['type'] == _db.DB_TYPE_SQLITE:
|
||||
# database = 'SQLite({})'.format(_db.db_source['file'])
|
||||
# elif _db.db_source['type'] == _db.DB_TYPE_MYSQL:
|
||||
# database = 'MySQL'
|
||||
#
|
||||
# param = {
|
||||
# 'core': cfg.core,
|
||||
# 'web': {
|
||||
# 'version': TS_VER,
|
||||
# 'core_server_rpc': cfg['core_server_rpc'],
|
||||
# 'database': database
|
||||
# }
|
||||
# }
|
||||
# self.render('set/info.mako', page_param=json.dumps(param))
|
||||
|
||||
param = {'db': _db.db_source}
|
||||
self.render('set/database.mako', page_param=json.dumps(param))
|
||||
|
||||
# class DatabaseHandler(TPBaseAdminAuthHandler):
|
||||
# def get(self):
|
||||
# _db = get_db()
|
||||
# # database = '未知'
|
||||
# # if _db.db_source['type'] == _db.DB_TYPE_SQLITE:
|
||||
# # database = 'SQLite({})'.format(_db.db_source['file'])
|
||||
# # elif _db.db_source['type'] == _db.DB_TYPE_MYSQL:
|
||||
# # database = 'MySQL'
|
||||
#
|
||||
# param = {'db': _db.db_source}
|
||||
# self.render('set/database.mako', page_param=json.dumps(param))
|
||||
|
||||
# def _restart_func():
|
||||
# time.sleep(1)
|
|
@ -158,6 +158,10 @@ class RpcHandler(TPBaseAdminAuthJsonHandler):
|
|||
return self.write_json(-1, '参数错误')
|
||||
|
||||
cmd = args['cmd']
|
||||
if cmd == 'enter_maintenance_mode':
|
||||
cfg.app_mode = APP_MODE_MAINTENANCE
|
||||
return self.write_json(0)
|
||||
|
||||
if cmd == 'create_db':
|
||||
if not get_db().need_create:
|
||||
return self.write_json(-1, '无需创建')
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
"use strict";
|
||||
|
||||
ywl.on_init = function (cb_stack, cb_args) {
|
||||
console.log(ywl.page_options);
|
||||
|
||||
var dom = {
|
||||
info: $('#info-kv')
|
||||
};
|
||||
|
||||
var html = [];
|
||||
|
||||
// 版本号
|
||||
var db = ywl.page_options.db;
|
||||
if (db.type === 1) {
|
||||
html.push(ywl._make_info('数据库类型', 'SQLite'));
|
||||
html.push(ywl._make_info('数据库文件', db.file));
|
||||
} else if(db.type === 2) {
|
||||
html.push(ywl._make_info('数据库类型', 'MySQL'));
|
||||
} else {
|
||||
html.push(ywl._make_info('数据库类型', '未知类型(' + db.type + ')'));
|
||||
}
|
||||
|
||||
dom.info.append(html.join(''));
|
||||
|
||||
// $("#current-rdp-port").val(core.rdp.port);
|
||||
// $("#current-ssh-port").val(core.ssh.port);
|
||||
// $("#current-telnet-port").val(core.telnet.port);
|
||||
|
||||
cb_stack.exec();
|
||||
};
|
||||
|
||||
ywl._make_info = function (key, value) {
|
||||
if (_.isUndefined(value))
|
||||
value = '<span class="error">未能检测到</span>';
|
||||
return '<tr><td class="key">' + key + ':</td><td class="value">' + value + '</td></tr>';
|
||||
};
|
|
@ -5,6 +5,7 @@ ywl.on_init = function (cb_stack, cb_args) {
|
|||
|
||||
var dom = {
|
||||
info: $('#info-kv')
|
||||
// , btn_maintance: $('#btn_maintenance')
|
||||
};
|
||||
|
||||
var html = [];
|
||||
|
@ -17,7 +18,14 @@ ywl.on_init = function (cb_stack, cb_args) {
|
|||
html.push(ywl._make_info('核心服务版本', ywl.page_options.core.version));
|
||||
}
|
||||
|
||||
html.push(ywl._make_info('数据库类型', ywl.page_options.web.database));
|
||||
var db_type = '未知';
|
||||
if (ywl.page_options.web.db.type === DB_TYPE_SQLITE) {
|
||||
db_type = 'SQLite(' + ywl.page_options.web.db.file + ')';
|
||||
} else if (ywl.page_options.web.db.type === DB_TYPE_MYSQL) {
|
||||
db_type = 'MySQL';
|
||||
}
|
||||
|
||||
html.push(ywl._make_info('数据库类型', db_type));
|
||||
html.push(ywl._make_info('核心服务通讯地址', ywl.page_options.web.core_server_rpc));
|
||||
if (ywl.page_options.core.detected) {
|
||||
html.push(ywl._make_info('WEB服务通讯地址', ywl.page_options.core.web_server_rpc));
|
||||
|
@ -29,10 +37,30 @@ ywl.on_init = function (cb_stack, cb_args) {
|
|||
|
||||
dom.info.append(html.join(''));
|
||||
|
||||
// $("#current-rdp-port").val(core.rdp.port);
|
||||
// $("#current-ssh-port").val(core.ssh.port);
|
||||
// $("#current-telnet-port").val(core.telnet.port);
|
||||
|
||||
// dom.btn_maintance.click(function () {
|
||||
// var _fn_sure = function (cb_stack, cb_args) {
|
||||
// ywl.ajax_post_json('/maintenance/rpc', {cmd: 'enter_maintenance_mode'},
|
||||
// function (ret) {
|
||||
// if (ret.code === TPE_OK) {
|
||||
// window.location.href = '/maintenance/index';
|
||||
// }
|
||||
// else {
|
||||
// ywl.notify_error('无法进入维护模式:' + ret.message);
|
||||
// }
|
||||
// },
|
||||
// function () {
|
||||
// ywl.notify_error('网络故障,无法进入维护模式!');
|
||||
// }
|
||||
// );
|
||||
// };
|
||||
// var cb_stack = CALLBACK_STACK.create();
|
||||
//
|
||||
// ywl.dlg_confirm(cb_stack, {
|
||||
// msg: '<p>您确定要进入维护模式吗?!!</p>',
|
||||
// fn_yes: _fn_sure
|
||||
// });
|
||||
// });
|
||||
//
|
||||
cb_stack.exec();
|
||||
};
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@ var AUTH_TYPE_PASSWORD = 1;
|
|||
var AUTH_TYPE_SSHKEY = 2;
|
||||
var AUTH_NONE = 0;
|
||||
|
||||
var DB_TYPE_UNKNOWN = 0;
|
||||
var DB_TYPE_SQLITE = 1;
|
||||
var DB_TYPE_MYSQL = 2;
|
||||
|
||||
//var USER_TYPE_TEAM_MEMBER = 1;
|
||||
//var USER_TYPE_TEAM_LEADER = 9;
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
%>
|
||||
<%
|
||||
_sidebar = [
|
||||
{
|
||||
'require_type': 100,
|
||||
'id': 'dashboard',
|
||||
'link': '/dashboard',
|
||||
'name': '信息总览',
|
||||
'icon': 'fa-dashboard',
|
||||
},
|
||||
## {
|
||||
## 'require_type': 100,
|
||||
## 'id': 'dashboard',
|
||||
## 'link': '/dashboard',
|
||||
## 'name': '信息总览',
|
||||
## 'icon': 'fa-dashboard',
|
||||
## },
|
||||
{
|
||||
'require_type': 1,
|
||||
'id': 'host',
|
||||
|
@ -38,26 +38,33 @@
|
|||
'name': '分组管理',
|
||||
'icon': 'fa-object-group',
|
||||
},
|
||||
## {
|
||||
## 'require_type': 100,
|
||||
## 'id': 'set',
|
||||
## 'link': '',
|
||||
## 'name': '配置管理',
|
||||
## 'icon': 'fa-cogs',
|
||||
## 'sub': [
|
||||
## {
|
||||
## 'require_type': 100,
|
||||
## 'id': 'info',
|
||||
## 'link': '/set/info',
|
||||
## 'name': '配置信息'
|
||||
## },
|
||||
## {
|
||||
## 'require_type': 100,
|
||||
## 'id': 'database',
|
||||
## 'link': '/set/db',
|
||||
## 'name': '数据库管理'
|
||||
## }
|
||||
## ]
|
||||
## },
|
||||
{
|
||||
'require_type': 100,
|
||||
'id': 'set',
|
||||
'link': '',
|
||||
'id': 'config',
|
||||
'link': '/config',
|
||||
'name': '配置管理',
|
||||
'icon': 'fa-cogs',
|
||||
'sub': [
|
||||
{
|
||||
'require_type': 100,
|
||||
'id': 'info',
|
||||
'link': '/set/info',
|
||||
'name': '配置信息'
|
||||
},
|
||||
{
|
||||
'require_type': 100,
|
||||
'id': 'database',
|
||||
'link': '/set/db',
|
||||
'name': '数据库管理'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
'require_type': 100,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%!
|
||||
page_title_ = '配置管理'
|
||||
page_menu_ = ['set', 'info']
|
||||
page_id_ = 'set'
|
||||
page_menu_ = ['config']
|
||||
page_id_ = 'config'
|
||||
%>
|
||||
<%inherit file="../page_base.mako"/>
|
||||
|
||||
|
@ -14,7 +14,6 @@
|
|||
<%block name="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fa fa-cogs fa-fw"></i> ${self.attr.page_title_}</li>
|
||||
<li>配置信息</li>
|
||||
</ol>
|
||||
</%block>
|
||||
|
||||
|
@ -51,6 +50,11 @@
|
|||
<table id="info-kv" class="table"></table>
|
||||
</div>
|
||||
|
||||
## <div>
|
||||
## <h4><strong>高级设置</strong></h4>
|
||||
## <p><a href="javascript:;" id="btn_maintenance">进入维护模式</a></p>
|
||||
## </div>
|
||||
|
||||
</div>
|
||||
<!-- end of box -->
|
||||
</div>
|
|
@ -34,7 +34,7 @@
|
|||
<div id="header" class="header header-fixed-top">
|
||||
|
||||
<div class="container-fluid top-navbar">
|
||||
<div class="brand"><div class="site-logo"></div></div>
|
||||
<div class="brand"><a href="http://teleport.eomsoft.net" target="_blank"><span class="navbar-logo"></span></a></div>
|
||||
<div class="breadcrumb-container">
|
||||
<%block name="breadcrumb" />
|
||||
</div>
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
<%!
|
||||
page_title_ = '数据库管理'
|
||||
page_menu_ = ['set', 'database']
|
||||
page_id_ = 'set'
|
||||
%>
|
||||
<%inherit file="../page_base.mako"/>
|
||||
|
||||
<%block name="extend_js">
|
||||
## <script type="text/javascript" src="${ static_url('js/ui/teleport.js') }"></script>
|
||||
|
||||
<script type="text/javascript" src="${ static_url('js/ui/config/database.js') }"></script>
|
||||
</%block>
|
||||
|
||||
<%block name="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li><i class="fa fa-cogs fa-fw"></i> ${self.attr.page_title_}</li>
|
||||
<li>数据库管理</li>
|
||||
</ol>
|
||||
</%block>
|
||||
|
||||
<%block name="extend_css">
|
||||
<style type="text/css">
|
||||
.table .key {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.table .value {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.table .value .error {
|
||||
color: #ff4c4c;
|
||||
}
|
||||
|
||||
.table .value .disabled {
|
||||
color: #ffa861;
|
||||
}
|
||||
</style>
|
||||
</%block>
|
||||
|
||||
## Begin Main Body.
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<!-- begin box -->
|
||||
<div class="box">
|
||||
|
||||
<div>
|
||||
<h4><strong>数据库配置信息</strong></h4>
|
||||
<table id="info-kv" class="table"></table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- end of box -->
|
||||
</div>
|
||||
|
||||
|
||||
<%block name="extend_content"></%block>
|
||||
|
||||
|
||||
<%block name="embed_js">
|
||||
<script type="text/javascript">
|
||||
ywl.add_page_options(${ page_param });
|
||||
</script>
|
||||
</%block>
|
Loading…
Reference in New Issue