Преглед изворни кода

HPCC-17737 Config Manager should handle new comp type requests

- Handles Conputer Type, Switches, Domains, NAS as computer Element requests
- Addresses Curly bracket format
- Renames "New" requests to "NewComputer" requests
- Adds restriction on prefix value when creating new comp or range
- Removes unnecessary code

Signed-off-by: Rodrigo Pastrana <rodrigo.pastrana@lexisnexis.com>
Rodrigo Pastrana пре 8 година
родитељ
комит
b85f3a066e

+ 6 - 4
esp/files/scripts/configmgr/configmgr.js

@@ -3316,13 +3316,15 @@ function onMenuItemClickHandleComputer(p_sType, p_aArgs, p_oValue) {
   {
     if (parentName === "Computers")
     {
-      for (i = 0; i < recSet.getLength(); i++) {
+      for (i = 0; i < recSet.getLength(); i++)
+      {
         var arr = recSet.getRecord(i).getData('domain_extra');
         if (YAHOO.lang.isArray(arr))
           break;
       }
 
-      if (i >= recSet.length) {
+      if (i >= recSet.length)
+      {
         alert("get domain from backend");
         return;
       }
@@ -3335,8 +3337,8 @@ function onMenuItemClickHandleComputer(p_sType, p_aArgs, p_oValue) {
         top.document.navDT.promptNewRange([], [], type);
       return;
     }
-    else if (parentName ==="Computer Types")
-      oper = "NewComputerType";
+    else
+      oper = "NewComputerElement";
   }
 
   var xmlArgs = "<XmlArgs type = '" + type + "'>";

+ 7 - 8
esp/files/scripts/configmgr/navtree.js

@@ -2644,18 +2644,17 @@ function promptNewRange(domains, computerTypes, type) {
             var endIP = document.getElementById('cfgAddComputersStopIP');
             var hostname = document.getElementById('cfgAddComputersHostname');
             var isRange = document.getElementById('isRange');
+
             if (!isRange.checked)
             {
-              op = 'New';
+              op = 'NewComputer';
             }
-            else
+
+            if (prefix.value === "")
             {
-              if (prefix.value === "")
-              {
-                alert("Prefix cannot be empty when adding a range.");
-                prefix.focus();
-                return;
-              }
+              alert("Prefix cannot be empty.");
+              prefix.focus();
+              return;
             }
 
             document.forms['treeForm'].computerRangeEnd.value = endIP.value;

+ 3 - 5
esp/services/WsDeploy/WsDeployService.cpp

@@ -4728,7 +4728,7 @@ bool CWsDeployFileInfo::handleComputer(IEspContext &context, IEspHandleComputerR
 
   Owned<IPropertyTree> pEnvRoot = getEnvTree(context, &req.getReqInfo());
 
-  if (!strcmp(operation, "New"))
+  if (!strcmp(operation, "NewComputer"))
   {
     const char* prefix = pParams->queryProp("@prefix");
     const char* domain = pParams->queryProp(XML_ATTR_DOMAIN);
@@ -4810,17 +4810,15 @@ bool CWsDeployFileInfo::handleComputer(IEspContext &context, IEspHandleComputerR
 
     resp.setStatus("true");
   }
-  else if (!strcmp(operation, "NewComputerType"))
+  else if (!strcmp(operation, "NewComputerElement"))
   {
       StringBuffer sbTemp;
       IPropertyTree* pCompTree = createPTree(XML_TAG_HARDWARE);
       generateHardwareHeaders(pEnvRoot, sbTemp, false, pCompTree, true);
 
       StringBuffer sbNewName(type);
-      xpath.clear().appendf("%s", type);
-
-      getUniqueName(pEnvRoot, sbNewName, xpath.str(), XML_TAG_HARDWARE);
       xpath.clear().append(type).append("/").append(XML_ATTR_NAME);
+      getUniqueName(pEnvRoot, sbNewName, type, XML_TAG_HARDWARE);
       pCompTree->setProp(xpath.str(), sbNewName);
 
       pEnvRoot->queryPropTree(XML_TAG_HARDWARE)->addPropTree(type, pCompTree->queryPropTree(type));