[Update] 更新命令批量执行资产树(将没有ssh协议的资产设置为nocheck)

pull/3646/head
Bai 2020-01-15 10:46:41 +08:00
parent c21505e92d
commit 2827a64095
3 changed files with 17 additions and 11 deletions

View File

@ -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()

View File

@ -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) {

View File

@ -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': {