diff --git a/ui/scripts/affinity.js b/ui/scripts/affinity.js index daa8fb703a8..d59d1291448 100644 --- a/ui/scripts/affinity.js +++ b/ui/scripts/affinity.js @@ -201,8 +201,7 @@ for(var k = 0; k < firstPageVms.length; k++) { if(firstPageVms[k].id == vmIds[i]) { matchFound = true; - item.displayname = firstPageVms[k].displayname; - item.state = firstPageVms[k].state; + item = firstPageVms[k]; break; //break for looup } } @@ -213,9 +212,7 @@ async: false, data: {id: vmIds[i]}, success: function(json) { - var vmObj = json.listvirtualmachinesresponse.virtualmachine[0]; - item.displayname = vmObj.displayname; - item.state = vmObj.state; + item = json.listvirtualmachinesresponse.virtualmachine[0]; } }); } diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index 95f23edc905..7976ee6fa87 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -197,7 +197,57 @@ hostid: args.context.hosts[0].id }); } - + + if("affinityGroups" in args.context) { + var vmIds = args.context.affinityGroups[0].virtualmachineIds; + if(vmIds == null || vmIds.length == 0) { + args.response.success({data: null}); + return; + } + $.ajax({ + url: createURL('listVirtualMachines'), + data: data, + success: function(json) { + var firstPageVms = json.listvirtualmachinesresponse.virtualmachine; + var items = []; + if(vmIds != null) { + for(var i = 0; i < vmIds.length; i++) { + var item = null; + var matchFound = false; + if(firstPageVms != null) { + for(var k = 0; k < firstPageVms.length; k++) { + if(firstPageVms[k].id == vmIds[i]) { + matchFound = true; + item = firstPageVms[k]; + break; //break for looup + } + } + } + /* + if(matchFound == false) { //Either the VM is not in API response of "listVirtualMachines&page=1&pagesize=500" OR its state doesn't match value in state filter on top in instance listView + $.ajax({ + url: createURL('listVirtualMachines'), + async: false, + data: {id: vmIds[i]}, + success: function(json) { + item = json.listvirtualmachinesresponse.virtualmachine[0]; + } + }); + } + */ + if(item != null) + items.push(item); + } + } + args.response.success({ + actionFilter: vmActionfilter, + data: items + }); + } + }); + return; + } + $.ajax({ url: createURL('listVirtualMachines'), data: data,