mirror of https://github.com/tp4a/teleport
temp.
parent
7ca38e8bb4
commit
76a81386e5
|
@ -2,10 +2,27 @@
|
|||
|
||||
$app.on_init = function (cb_stack) {
|
||||
$app.dom = {
|
||||
// assist_ver: $('#tp-assist-ver'),
|
||||
btn_sel_group: $('#btn-sel-group button'),
|
||||
group_list_for_sel: $('#btn-sel-group ul'),
|
||||
|
||||
btn_refresh_host: $('#btn-refresh-host')
|
||||
// box_rdp_option: $('#rdp-options')
|
||||
};
|
||||
|
||||
console.log($app.options);
|
||||
|
||||
var html = [];
|
||||
$.each($app.options.host_groups, function (i, item) {
|
||||
html.push('<li><a href="javascript:;" data-tp-selector="' + item.id + '" data-name="' + item.name + '"><i class="fa fa-caret-right fa-fw"></i> ' + item.name + '</a></li>');
|
||||
});
|
||||
$app.dom.group_list_for_sel.append($(html.join('')));
|
||||
$app.dom.group_list_for_sel.find('a[data-tp-selector]').click(function () {
|
||||
var obj = $(this);
|
||||
//$app.set_selected_to_role(parseInt(obj.attr('data-tp-selector')), obj.attr('data-name'));
|
||||
});
|
||||
|
||||
|
||||
cb_stack
|
||||
.add($app.create_controls)
|
||||
.add($app.load_role_list);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="page-content">
|
||||
<div class="info-box">
|
||||
<div class="info-icon-box">
|
||||
<i id="icon" class="fa" style="color:#ff7545;"></i>
|
||||
<i id="icon" class="fas" style="color:#ff7545;"></i>
|
||||
</div>
|
||||
<div class="info-message-box">
|
||||
<div id="title" class="title"></div>
|
||||
|
|
|
@ -26,6 +26,16 @@
|
|||
|
||||
<!-- begin box -->
|
||||
<div class="box">
|
||||
|
||||
<p>filter goes here...</p>
|
||||
<div class="btn-group dropdown" id="btn-sel-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-edit fa-fw"></i> 所有分组 <i class="fa fa-caret-right"></i></button>
|
||||
<ul class="dropdown-menu dropdown-menu-sm"></ul>
|
||||
</div>
|
||||
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="table-prefix-area">
|
||||
<div class="table-extend-cell">
|
||||
<span class="table-name"><i class="fa fa-list fa-fw"></i> 主机列表</span>
|
||||
|
|
|
@ -4,7 +4,6 @@ import json
|
|||
import threading
|
||||
import time
|
||||
|
||||
import tornado.gen
|
||||
import tornado.httpclient
|
||||
from app.base.logger import log
|
||||
from app.base.configs import tp_cfg
|
||||
|
@ -15,6 +14,7 @@ from app.const import *
|
|||
from app.model import account
|
||||
from app.model import host
|
||||
from app.model import ops
|
||||
from app.model import group
|
||||
|
||||
# 连接信息ID的基数,每次使用时均递增
|
||||
tmp_conn_id_base = int(time.time())
|
||||
|
@ -34,9 +34,17 @@ class RemoteHandler(TPBaseHandler):
|
|||
ret = self.check_privilege(TP_PRIVILEGE_OPS)
|
||||
if ret != TPE_OK:
|
||||
return
|
||||
|
||||
err, groups = group.get_host_groups_for_user(self.current_user['id'], self.current_user['privilege'])
|
||||
param = {
|
||||
'host_groups': groups,
|
||||
'core_cfg': tp_cfg().core
|
||||
}
|
||||
|
||||
# param = {
|
||||
# 'core_cfg': tp_cfg().core
|
||||
# }
|
||||
|
||||
self.render('ops/remote-list.mako', page_param=json.dumps(param))
|
||||
|
||||
|
||||
|
|
|
@ -386,9 +386,13 @@ def get_host_groups_for_user(user_id, user_privilege):
|
|||
for db_item in db_ret:
|
||||
hosts.append(str(db_item[0]))
|
||||
|
||||
if len(hosts) == 0:
|
||||
return TPE_NOT_EXISTS, None
|
||||
|
||||
# step 2. get groups which include those hosts.
|
||||
sql = 'SELECT `gid` FROM `{dbtp}group_map` WHERE (`type`={dbph} AND `mid` IN ({dbph})) GROUP BY `gid`;'.format(dbtp=db.table_prefix, dbph=db.place_holder, hosts=','.join(hosts))
|
||||
db_ret = db.query(sql, (TP_GROUP_HOST, ','.join(hosts)))
|
||||
sql = 'SELECT `gid` FROM `{dbtp}group_map` WHERE (`type`={gtype} AND `mid` IN ({hids})) GROUP BY `gid`;'.format(dbtp=db.table_prefix, gtype=TP_GROUP_HOST, hids=','.join(hosts))
|
||||
db_ret = db.query(sql)
|
||||
|
||||
if db_ret is None or len(db_ret) == 0:
|
||||
return TPE_NOT_EXISTS, None
|
||||
|
||||
|
|
Loading…
Reference in New Issue