CLOUDSTACK-4619: UI > zone detail page > check if the zone has any cluster whose hypervisor is VMware. If not, skip calling listVmwareDcs API.

This commit is contained in:
Jessica Wang 2013-09-06 10:27:52 -07:00
parent eb390fba22
commit 0e695ec7e0

View File

@ -6096,22 +6096,39 @@
});
$.ajax({
url: createURL('listVmwareDcs'), //listVmwareDcs API exists in only non-oss bild
data: {
url: createURL('listClusters'),
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)});
});
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;
}
}
}
}
});
// for testing only (begin)
/*
selectedZoneObj.vmwaredcName = "datacenter";