From 318a5c7d0c6af4e45ec704a68b6025b99e56e4ed Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Fri, 7 Jan 2011 11:58:13 -0800 Subject: [PATCH] IP Address page - fix a bug "networkObj is undefined" when login as user-role. --- ui/scripts/cloud.core.ipaddress.js | 110 +++++++++++++++++++---------- 1 file changed, 73 insertions(+), 37 deletions(-) diff --git a/ui/scripts/cloud.core.ipaddress.js b/ui/scripts/cloud.core.ipaddress.js index c9b098e24c5..62d04619637 100644 --- a/ui/scripts/cloud.core.ipaddress.js +++ b/ui/scripts/cloud.core.ipaddress.js @@ -333,19 +333,39 @@ function ipToRightPanel($midmenuItem1) { if(ipObj.forvirtualnetwork == true) { //(public network) if(isIpManageable(ipObj.domainid, ipObj.account) == true) { //Port Forwarding tab - 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(); + if(networkObj != null) { + var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); + if(firewallServiceObj != null) { + var portForwardingCapabilityObj = ipFindCapabilityByName("PortForwarding", firewallServiceObj); + if(portForwardingCapabilityObj != null) { + if(portForwardingCapabilityObj.value == "true") + $("#tab_port_forwarding").show(); + else + $("#tab_port_forwarding").hide(); + } + else { + $("#tab_port_forwarding").hide(); + } + } + else { + $("#tab_port_forwarding").hide(); + } + } + else { + $("#tab_port_forwarding").hide(); + } //Load Balancer tab - var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj); - if(lbServiceObj != null) - $("#tab_load_balancer").show(); - else - $("#tab_load_balancer").hide(); + if(networkObj != null) { + var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj); + if(lbServiceObj != null) + $("#tab_load_balancer").show(); + else + $("#tab_load_balancer").hide(); + } + else { + $("#tab_load_balancer").hide(); + } //VPN tab var vpnServiceObj = ipFindNetworkServiceByName("Vpn", networkObj); @@ -388,15 +408,20 @@ function ipJsonToPortForwardingTab() { $thisTab.find("#tab_container").hide(); $thisTab.find("#tab_spinning_wheel").show(); - 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"+array1[i]+"") + if(networkObj != null) { + var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); + if(firewallServiceObj != null) { + 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"+array1[i]+"") + } + } } + refreshCreatePortForwardingRow(); $.ajax({ @@ -438,18 +463,23 @@ function ipJsonToLoadBalancerTab() { $thisTab.find("#tab_container").hide(); $thisTab.find("#tab_spinning_wheel").show(); - var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj); - var supportedLbAlgorithmsCapabilityObj = ipFindCapabilityByName("SupportedLbAlgorithms", lbServiceObj); - if(lbServiceObj != null && supportedLbAlgorithmsCapabilityObj != null) { - var algorithms = supportedLbAlgorithmsCapabilityObj.value; //e.g. "roundrobin,leastconn,sourceip" - var array1 = algorithms.split(","); - var $algorithmField1 = $("#create_load_balancer_row").find("#algorithm_select").empty(); - var $algorithmField2 = $("#load_balancer_template").find("#row_container_edit").find("#algorithm_select").empty(); - for(var i=0; i"+array1[i]+""); - $algorithmField2.append(""); - } - } + if(networkObj != null) { + var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj); + if(lbServiceObj != null) { + var supportedLbAlgorithmsCapabilityObj = ipFindCapabilityByName("SupportedLbAlgorithms", lbServiceObj); + if(supportedLbAlgorithmsCapabilityObj != null) { + var algorithms = supportedLbAlgorithmsCapabilityObj.value; //e.g. "roundrobin,leastconn,sourceip" + var array1 = algorithms.split(","); + var $algorithmField1 = $("#create_load_balancer_row").find("#algorithm_select").empty(); + var $algorithmField2 = $("#load_balancer_template").find("#row_container_edit").find("#algorithm_select").empty(); + for(var i=0; i"+array1[i]+""); + $algorithmField2.append(""); + } + } + } + } + refreshCreateLoadBalancerRow(); $.ajax({ @@ -943,12 +973,18 @@ function ipJsonToDetailsTab() { buildActionLinkForTab("Disable Static NAT", ipActionMap, $actionMenu, $midmenuItem1, $thisTab); noAvailableActions = false; } else { - if(ipObj.issourcenat != true) { - var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); - var staticNatCapabilityObj = ipFindCapabilityByName("StaticNat", firewallServiceObj); - if(firewallServiceObj != null && staticNatCapabilityObj != null && staticNatCapabilityObj.value == "true") - buildActionLinkForTab("Enable Static NAT", ipActionMap, $actionMenu, $midmenuItem1, $thisTab); - + if(ipObj.issourcenat != true) { + if(networkObj != null) { + var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj); + if(firewallServiceObj != null) { + var staticNatCapabilityObj = ipFindCapabilityByName("StaticNat", firewallServiceObj); + if(staticNatCapabilityObj != null) { + if(staticNatCapabilityObj.value == "true") + buildActionLinkForTab("Enable Static NAT", ipActionMap, $actionMenu, $midmenuItem1, $thisTab); + } + } + } + buildActionLinkForTab("Release IP", ipActionMap, $actionMenu, $midmenuItem1, $thisTab); noAvailableActions = false; }