From d67b4d085e924c9dbf0bfc6575c8f007e71badca Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Sun, 11 Aug 2013 18:16:16 -0700 Subject: [PATCH] CLOUDSTACK-4142: listNetworkOfferings API has been changed to not return system-owned network offerings to regular user(domain user). This API change causes several UI bugs. Change UI to determine whether an IP Address has VPN service upon listNetworks API response instead of listNetworkOfferings API response. --- ui/scripts/network.js | 64 +++++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/ui/scripts/network.js b/ui/scripts/network.js index 53580a65b6a..d875182d472 100755 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -5977,9 +5977,37 @@ } }; - function getExtaPropertiesForIpObj(ipObj, args) { - if ('networks' in args.context) { //from Guest Network section - //get ipObj.networkOfferingConserveMode and ipObj.networkOfferingHavingVpnService from guest network's network offering + function getExtaPropertiesForIpObj(ipObj, args) { + if (!('vpc' in args.context)) { //from Guest Network section + var services = args.context.networks[0].service; + if(services != null) { + for(var i = 0; i < services.length; i++) { + var thisService = services[i]; + if (thisService.name == "Vpn") { + ipObj.networkOfferingHavingVpnService = true; + break; + } + } + } + if (ipObj.networkOfferingHavingVpnService == true) { + $.ajax({ + url: createURL('listRemoteAccessVpns'), + data: { + listAll: true, + publicipid: ipObj.id + }, + async: false, + success: function(vpnResponse) { + var isVPNEnabled = vpnResponse.listremoteaccessvpnsresponse.count; + if (isVPNEnabled) { + ipObj.vpnenabled = true; + ipObj.remoteaccessvpn = vpnResponse.listremoteaccessvpnsresponse.remoteaccessvpn[0]; + }; + } + }); + } + + //get ipObj.networkOfferingConserveMode and ipObj.networkOfferingHavingVpnService from guest network's network offering $.ajax({ url: createURL('listNetworkOfferings'), data: { @@ -5987,32 +6015,10 @@ }, async: false, success: function(json) { - var networkOfferingObj = json.listnetworkofferingsresponse.networkoffering[0]; - ipObj.networkOfferingConserveMode = networkOfferingObj.conservemode; - - $(networkOfferingObj.service).each(function() { - var thisService = this; - if (thisService.name == "Vpn") - ipObj.networkOfferingHavingVpnService = true; - }); - - if (ipObj.networkOfferingHavingVpnService == true) { - $.ajax({ - url: createURL('listRemoteAccessVpns'), - data: { - listAll: true, - publicipid: ipObj.id - }, - async: false, - success: function(vpnResponse) { - var isVPNEnabled = vpnResponse.listremoteaccessvpnsresponse.count; - if (isVPNEnabled) { - ipObj.vpnenabled = true; - ipObj.remoteaccessvpn = vpnResponse.listremoteaccessvpnsresponse.remoteaccessvpn[0]; - }; - } - }); - } + if(json.listnetworkofferingsresponse.networkoffering != null) { + var networkOfferingObj = json.listnetworkofferingsresponse.networkoffering[0]; + ipObj.networkOfferingConserveMode = networkOfferingObj.conservemode; + } } }); } else { //from VPC section