From 420e7aed1fd6f7b4c8d75ace5a66072ecf863253 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Fri, 13 Dec 2013 15:50:21 -0800 Subject: [PATCH] CLOUDSTACK-5098: UI > VMware > during zone creation, after addVmwareDc succeeds, if addClsuter fails (e.g. because of wrong input value), zone detail page will show wrong button ("Add Vmware Datacenter") since listVmwareDcs is only called when a zone has a VMware cluster. To resolve this specific use case, change UI to use listApis instead of listClusters to determine whether to call listVmwareDcs. --- ui/scripts/system.js | 47 ++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index b490d0d9a85..f6a50a46abe 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -7032,38 +7032,29 @@ }); $.ajax({ - url: createURL('listClusters'), + url: createURL('listApis'), //listVmwareDcs API only exists in non-oss bild, so have to check whether it exists before calling it. data: { - zoneid: args.context.physicalResources[0].id + name: 'listVmwareDcs' }, async: false, success: function(json) { - var clusters = json.listclustersresponse.cluster; - if (clusters != null) { - for (var i = 0; i < clusters.length; i++) { - if (clusters[i].hypervisortype == 'VMware') { - $.ajax({ - url: createURL('listVmwareDcs'), //listVmwareDcs API exists in only non-oss bild - data: { - zoneid: args.context.physicalResources[0].id - }, - async: false, - success: function(json) { //e.g. json == { "listvmwaredcsresponse" { "count":1 ,"VMwareDC" [ {"id":"c3c2562d-65e9-4fc7-92e2-773c2efe8f37","zoneid":1,"name":"datacenter","vcenter":"10.10.20.20"} ] } } - var vmwaredcs = json.listvmwaredcsresponse.VMwareDC; - if (vmwaredcs != null) { - selectedZoneObj.vmwaredcName = vmwaredcs[0].name; - selectedZoneObj.vmwaredcVcenter = vmwaredcs[0].vcenter; - selectedZoneObj.vmwaredcId = vmwaredcs[0].id; - } - } - //, error: function(XMLHttpResponse) {} //override default error handling: cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse)}); - }); - - break; - } - } - } - } + $.ajax({ + url: createURL('listVmwareDcs'), + data: { + zoneid: args.context.physicalResources[0].id + }, + async: false, + success: function (json) { //e.g. json == { "listvmwaredcsresponse" { "count":1 ,"VMwareDC" [ {"id":"c3c2562d-65e9-4fc7-92e2-773c2efe8f37","zoneid":1,"name":"datacenter","vcenter":"10.10.20.20"} ] } } + var vmwaredcs = json.listvmwaredcsresponse.VMwareDC; + if (vmwaredcs != null) { + selectedZoneObj.vmwaredcName = vmwaredcs[0].name; + selectedZoneObj.vmwaredcVcenter = vmwaredcs[0].vcenter; + selectedZoneObj.vmwaredcId = vmwaredcs[0].id; + } + } + }); + }, + error: function(XMLHttpResponse) {} //override default error handling: cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse)}); }); args.response.success({