diff --git a/manifest.jps b/manifest.jps index d102e8f..52da7bc 100644 --- a/manifest.jps +++ b/manifest.jps @@ -51,7 +51,6 @@ settings: - caption: Backup storage type: list tooltip: "The environment with backup storage to be used for backups creation. Presence of this environment is obligatory." - value: {nodes.(group)[(i)].(storage)} name: storageName dependsOn: region required: true diff --git a/scripts/backupOnBeforeInit.js b/scripts/backupOnBeforeInit.js index bfbb649..cf5ce5b 100644 --- a/scripts/backupOnBeforeInit.js +++ b/scripts/backupOnBeforeInit.js @@ -6,16 +6,22 @@ for (var i = 0, envInfo, env; envInfo = resp.infos[i]; i++) { env = envInfo.env; if (env.status == 1) { for (var j = 0, node; node = envInfo.nodes[j]; j++) { - if (node.nodeGroup == "storage") { + if (node.nodeGroup === "storage") { nodes[env.envName] = nodes[env.envName] || []; - if (!nodes[env.envName].includes(node.id)) { - nodes[env.envName].push({ - id: node.id, - caption: (node.displayName || node.name) + ' (' + node.nodeGroup + ')' - }); - } + nodes[env.envName].groups = nodes[env.envName].groups || {}; + if (!nodes[env.envName].groups[node.nodeGroup]) nodes[env.envName].push({ + value: node.nodeGroup, + caption: (node.displayName || node.name) + ' (' + node.nodeGroup + ')' + }); + nodes[env.envName].groups[node.nodeGroup] = true; } } + if (nodes[env.envName] && nodes[env.envName].length > 0) { + envs.push({ + value: env.envName, + caption: (env.displayName + " (" + env.envName + ")" || env.envName) + }); + } } }