mirror of https://github.com/jumpserver/jumpserver
[Update] 更新命令批量执行资产树(将没有ssh协议的资产设置为nocheck)
parent
c21505e92d
commit
2827a64095
|
@ -98,4 +98,5 @@ class TreeNodeSerializer(serializers.Serializer):
|
||||||
isParent = serializers.BooleanField(default=False)
|
isParent = serializers.BooleanField(default=False)
|
||||||
open = serializers.BooleanField(default=False)
|
open = serializers.BooleanField(default=False)
|
||||||
iconSkin = serializers.CharField(max_length=128, allow_blank=True)
|
iconSkin = serializers.CharField(max_length=128, allow_blank=True)
|
||||||
|
nocheck = serializers.BooleanField(default=False)
|
||||||
meta = serializers.JSONField()
|
meta = serializers.JSONField()
|
||||||
|
|
|
@ -138,11 +138,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
callback: {
|
callback: {
|
||||||
onCheck: onCheck
|
onCheck: onCheck,
|
||||||
|
onClick: onClick,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
$.get(url, function (data, status) {
|
$.get(url, function (data, status) {
|
||||||
$.fn.zTree.init($("#assetTree"), setting, data);
|
$.fn.zTree.init($("#assetTree"), setting, data);
|
||||||
zTree = $.fn.zTree.getZTreeObj("assetTree");
|
zTree = $.fn.zTree.getZTreeObj("assetTree");
|
||||||
|
@ -152,25 +152,29 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function onClick(event, treeId, treeNode, clickFlag){
|
||||||
|
if (treeNode.meta.type === 'asset'){
|
||||||
|
let protocolsStr = treeNode.meta.asset.protocols + '';
|
||||||
|
if (protocolsStr.indexOf('ssh/') === -1){
|
||||||
|
toastr.warning("{% trans "Asset configuration does not include the SSH protocol" %}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
function getSelectedAssetsNode() {
|
function getSelectedAssetsNode() {
|
||||||
var nodes = zTree.getCheckedNodes(true);
|
var nodes = zTree.getCheckedNodes(true);
|
||||||
var assetsNodeId = [];
|
var assetsNodeId = [];
|
||||||
var assetsNode = [];
|
var assetsNode = [];
|
||||||
nodes.forEach(function (node) {
|
nodes.forEach(function (node) {
|
||||||
if (node.meta.type === 'asset' && !node.isHidden) {
|
if (node.meta.type === 'asset' && !node.isHidden) {
|
||||||
var protocols = node.meta.asset.protocols;
|
var protocolsStr = node.meta.asset.protocols + '';
|
||||||
protocols.forEach(function (val) {
|
if (assetsNodeId.indexOf(node.id) === -1 && protocolsStr.indexOf('ssh') > -1){
|
||||||
if (assetsNodeId.indexOf(node.id) === -1 && val.indexOf("ssh") > -1) {
|
assetsNodeId.push(node.id);
|
||||||
assetsNodeId.push(node.id);
|
assetsNode.push(node)
|
||||||
assetsNode.push(node)
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return assetsNode;
|
return assetsNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onCheck(e, treeId, treeNode) {
|
function onCheck(e, treeId, treeNode) {
|
||||||
var nodes = getSelectedAssetsNode();
|
var nodes = getSelectedAssetsNode();
|
||||||
var nodes_names = nodes.map(function (node) {
|
var nodes_names = nodes.map(function (node) {
|
||||||
|
|
|
@ -481,6 +481,7 @@ class ParserNode:
|
||||||
'isParent': False,
|
'isParent': False,
|
||||||
'open': False,
|
'open': False,
|
||||||
'iconSkin': icon_skin,
|
'iconSkin': icon_skin,
|
||||||
|
'nocheck': not asset.has_protocol('ssh'),
|
||||||
'meta': {
|
'meta': {
|
||||||
'type': 'asset',
|
'type': 'asset',
|
||||||
'asset': {
|
'asset': {
|
||||||
|
|
Loading…
Reference in New Issue