CLOUDSTACK-3016: UI - (1) remove obsolete code that pass zonetype to API calls. (2) network menu: use listZones&networktype=Advanced to determine which section to show.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2d10ae75 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2d10ae75 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2d10ae75 Branch: refs/heads/object_store Commit: 2d10ae7580018611919be070bc51818f476bc1e4 Parents: 928d942 Author: Jessica Wang <[email protected]> Authored: Wed Jun 19 11:49:05 2013 -0700 Committer: Jessica Wang <[email protected]> Committed: Wed Jun 19 11:52:18 2013 -0700 ---------------------------------------------------------------------- ui/scripts/network.js | 61 +++++++++++++++++++++++--------------- ui/scripts/sharedFunctions.js | 6 +--- 2 files changed, 38 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2d10ae75/ui/scripts/network.js ---------------------------------------------------------------------- diff --git a/ui/scripts/network.js b/ui/scripts/network.js index ddde9c9..d18e796 100755 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -274,40 +274,46 @@ } }; - var networkOfferingObjs = []; - var checkVpc=0; + var networkOfferingObjs = []; + var advZoneObjs; + cloudStack.sections.network = { title: 'label.network', id: 'network', sectionSelect: { preFilter: function(args) { - var havingSecurityGroupNetwork = false; - + var sectionsToShow = ['networks']; + + $.ajax({ + url: createURL('listZones'), + data: { + networktype: 'Advanced' + }, + async: false, + success: function(json) { + advZoneObjs = json.listzonesresponse.zone; + if(advZoneObjs != null && advZoneObjs.length > 0) { + sectionsToShow.push('vpc'); + sectionsToShow.push('vpnCustomerGateway'); + } + } + }); + $.ajax({ url: createURL('listNetworks', { ignoreProject: true }), data: { supportedServices: 'SecurityGroup', listAll: true, - details: 'min' + details: 'min' }, async: false, - success: function(data) { - if (data.listnetworksresponse.network != null && data.listnetworksresponse.network.length > 0) { - havingSecurityGroupNetwork = true; + success: function(json) { + if(json.listnetworksresponse.network != null && json.listnetworksresponse.network.length > 0) { + sectionsToShow.push('securityGroups'); } } }); - - var sectionsToShow = ['networks']; - - if(args.context.zoneType != 'Basic') { //Advanced type or all types - sectionsToShow.push('vpc'); - sectionsToShow.push('vpnCustomerGateway'); - } - - if(havingSecurityGroupNetwork == true) - sectionsToShow.push('securityGroups'); - + return sectionsToShow; }, @@ -323,11 +329,18 @@ add: { label: 'Add Isolated Guest Network with SourceNat', - preFilter: function(args) { //Isolated networks is only supported in Advanced (SG-disabled) zone - if(args.context.zoneType != 'Basic') - return true; - else - return false; + preFilter: function(args) { + if(advZoneObjs != null && advZoneObjs.length > 0) { + for(var i = 0; i < advZoneObjs.length; i++) { + if(advZoneObjs[i].securitygroupsenabled != true) { //'Add Isolated Guest Network with SourceNat' is only supported in Advanced SG-disabled zone + return true; + } + } + return false; + } + else{ + return false; + } }, createForm: { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2d10ae75/ui/scripts/sharedFunctions.js ---------------------------------------------------------------------- diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js index d87f0dc..86dc68e 100644 --- a/ui/scripts/sharedFunctions.js +++ b/ui/scripts/sharedFunctions.js @@ -114,11 +114,7 @@ function createURL(apiName, options) { if (cloudStack.context && cloudStack.context.projects && !options.ignoreProject) { urlString = urlString + '&projectid=' + cloudStack.context.projects[0].id; } - - if(cloudStack.context != null && cloudStack.context.zoneType != null && cloudStack.context.zoneType.length > 0) { //Basic type or Advanced type - urlString = urlString + '&zonetype=' + cloudStack.context.zoneType; - } - + return urlString; }
