From 84ae25b02b00dca6c1b83bc6b103f76a11428c95 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 15 Nov 2010 15:10:14 -0800 Subject: [PATCH] new UI - IP address page - port forwarding rule - only display Running VM and Stopped VM in dropdown box. --- ui/scripts/cloud.core.ipaddress.js | 55 +++++++++++++++++------------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/ui/scripts/cloud.core.ipaddress.js b/ui/scripts/cloud.core.ipaddress.js index e136fcfc1fa..a96748d7579 100644 --- a/ui/scripts/cloud.core.ipaddress.js +++ b/ui/scripts/cloud.core.ipaddress.js @@ -823,7 +823,7 @@ function portForwardingJsonToTemplate(jsonObj, $template) { $template.find("#row_container #protocol").text(fromdb(jsonObj.protocol)); $template.find("#row_container_edit #protocol").text(fromdb(jsonObj.protocol)); - var vmName = getVmName(jsonObj.vmname, jsonObj.vmdisplayname); //jsonObj doesn't include vmdisplayname property(incorrect). Waiting for Bug 6241 to be fixed.... + var vmName = getVmName(jsonObj.vmname, jsonObj.vmdisplayname); //jsonObj doesn't include vmdisplayname property(incorrect). Waiting for Bug 7189 to be fixed.... $template.find("#row_container #vm_name").text(vmName); var virtualMachineId = noNull(jsonObj.virtualmachineid); @@ -832,22 +832,10 @@ function portForwardingJsonToTemplate(jsonObj, $template) { var ipAddress = noNull(ipObj.ipaddress); var IpDomainid = noNull(ipObj.domainid); var IpAccount = fromdb(ipObj.account); - - $.ajax({ - data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount), - dataType: "json", - success: function(json) { - var instances = json.listvirtualmachinesresponse.virtualmachine; - var vmSelect = $template.find("#row_container_edit #vm").empty(); - if (instances != null && instances.length > 0) { - for (var i = 0; i < instances.length; i++) { - var html = $(""); - vmSelect.append(html); - } - vmSelect.val(virtualMachineId); - } - } - }); + + var $vmSelect = $template.find("#row_container_edit #vm").empty(); + ipPortFowardingPopulateVMDropdown($vmSelect, IpDomainid, IpAccount); + $vmSelect.val(virtualMachineId); var $rowContainer = $template.find("#row_container"); var $rowContainerEdit = $template.find("#row_container_edit"); @@ -960,22 +948,41 @@ function refreshCreatePortForwardingRow() { var IpDomainid = jsonObj.domainid; var IpAccount = jsonObj.account; + var $vmSelect = $createPortForwardingRow.find("#vm").empty(); + ipPortFowardingPopulateVMDropdown($vmSelect, IpDomainid, IpAccount); +} + +function ipPortFowardingPopulateVMDropdown($vmSelect, IpDomainid, IpAccount) { $.ajax({ - data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount), + data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount+"&state=Running"), dataType: "json", + async: false, success: function(json) { var instances = json.listvirtualmachinesresponse.virtualmachine; - var vmSelect = $createPortForwardingRow.find("#vm").empty(); if (instances != null && instances.length > 0) { for (var i = 0; i < instances.length; i++) { - var html = $(""); - vmSelect.append(html); - } + var html = $(""); + $vmSelect.append(html); + } } } - }); -} + }); + $.ajax({ + data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount+"&state=Stopped"), + dataType: "json", + async: false, + success: function(json) { + var instances = json.listvirtualmachinesresponse.virtualmachine; + if (instances != null && instances.length > 0) { + for (var i = 0; i < instances.length; i++) { + var html = $(""); + $vmSelect.append(html); + } + } + } + }); +} //***** Port Forwarding tab (end) **********************************************************************************************************