From 1360c1dbe866d6396e810337de3960f0a3cc0710 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 27 Dec 2010 11:07:07 -0800 Subject: [PATCH] IP Address page - fix a bug "networkObj.service[0] is undefined" --- ui/scripts/cloud.core.ipaddress.js | 46 +++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/ui/scripts/cloud.core.ipaddress.js b/ui/scripts/cloud.core.ipaddress.js index b5be453d2f5..72d36a81473 100644 --- a/ui/scripts/cloud.core.ipaddress.js +++ b/ui/scripts/cloud.core.ipaddress.js @@ -334,22 +334,26 @@ function ipToRightPanel($midmenuItem1) { } else { //ipObj.isstaticnat == false if(ipObj.forvirtualnetwork == true) { //(public network) - if(isIpManageable(ipObj.domainid, ipObj.account) == true) { + if(isIpManageable(ipObj.domainid, ipObj.account) == true) { //Port Forwarding tab - if(networkObj != null && networkObj.service[0].capability[0].name == "PortForwarding" && networkObj.service[0].capability[0].value == "true") + var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); + var portForwardingCapabilityObj = ipFindCapabilityByName("PortForwarding", firewallServiceObj); + if(firewallServiceObj != null && portForwardingCapabilityObj != null && portForwardingCapabilityObj.value == "true") $("#tab_port_forwarding").show(); else $("#tab_port_forwarding").hide(); - //Load Balancer tab - if(networkObj != null && networkObj.service[6].name == "Lb") + //Load Balancer tab + var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj); + if(lbServiceObj != null) $("#tab_load_balancer").show(); else $("#tab_load_balancer").hide(); //VPN tab + var vpnServiceObj = ipFindNetworkServiceByName("Vpn", networkObj); if (ipObj.issourcenat == true) { - if(networkObj != null && networkObj.service[3].name == "Vpn") + if(vpnServiceObj != null) $("#tab_vpn").show(); else $("#tab_vpn").hide(); @@ -386,9 +390,11 @@ function ipJsonToPortForwardingTab() { var $thisTab = $("#right_panel_content #tab_content_port_forwarding"); $thisTab.find("#tab_container").hide(); $thisTab.find("#tab_spinning_wheel").show(); - - if(networkObj.service[0].capability[4].name == "SupportedProtocols") { - var protocols = networkObj.service[0].capability[4].value.toUpperCase(); //e.g. "tcp,udp" => "TCP,UDP" + + var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); + var supportedProtocolsCapabilityObj = ipFindCapabilityByName("SupportedProtocols", firewallServiceObj); + if(supportedProtocolsCapabilityObj != null) { + var protocols = supportedProtocolsCapabilityObj.value.toUpperCase(); //e.g. "tcp,udp" => "TCP,UDP" var array1 = protocols.split(","); var $protocolField = $("#create_port_forwarding_row").find("#protocol").empty(); for(var i=0; i