CLOUDSTACK-4619: UI > Infrastructure > zone > Using listApis to check existence of listVmwareDcs API command will show an error in the log when listVmwareDcs API command doesn't exist (in oss build).

So, still use listClusters to determine the existence of listVmwareDcs API command.
This commit is contained in:
Jessica Wang 2013-09-09 14:00:26 -07:00
parent 1acec8362a
commit 771b8377fd

View File

@ -6096,30 +6096,39 @@
});
$.ajax({
url: createURL('listApis'),
url: createURL('listClusters'),
data: {
name: 'listVmwareDcs'
},
async: false,
success: function(json) {
$.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) {} //suppress error dialog by overriding default error handling: cloudStack.dialog.notice({ message: parseXMLHttpResponse(XMLHttpResponse)});
});
zoneid: args.context.physicalResources[0].id
},
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;
}
}
}
}
});
// for testing only (begin)
/*
selectedZoneObj.vmwaredcName = "datacenter";