You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2013/01/21 12:18:49 UTC

[41/50] [abbrv] git commit: CLOUDSTACK-537: cloudstack UI - Advanced SG-enabled zone - VM Wizard - step 5 - show network list first, then security group list. reviewed-by: Brian

CLOUDSTACK-537: cloudstack UI - Advanced SG-enabled zone - VM Wizard - step 5 - show network list first, then security group list.  reviewed-by: Brian


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c9921ea0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c9921ea0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c9921ea0

Branch: refs/heads/cloud-agent-with-openvswitch
Commit: c9921ea0773d7b06933c74d03024fabd62943013
Parents: 77bc04b
Author: Jessica Wang <je...@citrix.com>
Authored: Fri Jan 18 10:44:44 2013 -0800
Committer: Jessica Wang <je...@citrix.com>
Committed: Fri Jan 18 10:44:44 2013 -0800

----------------------------------------------------------------------
 ui/scripts/instanceWizard.js |   70 +++++++++++++++---------------------
 1 files changed, 29 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c9921ea0/ui/scripts/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js
index 65ec33f..b98147b 100644
--- a/ui/scripts/instanceWizard.js
+++ b/ui/scripts/instanceWizard.js
@@ -457,15 +457,6 @@
       // Create a new VM!!!!
       var array1 = [];
 
-      //
-      // @jessica
-      // If using an advanced security group zone, get the guest networks like this
-      //
-      //   var myNetworks = $('.multi-wizard:visible form').data('my-networks');
-      //
-      // -- and get the security groups from args.data['security-groups']
-      //
-
       //step 1 : select zone
       array1.push("&zoneId=" + args.data.zoneid);
 
@@ -562,41 +553,38 @@
 
         if(checkedSecurityGroupIdArray.length > 0)
           array1.push("&securitygroupids=" + checkedSecurityGroupIdArray.join(","));
-				
-        /*				
-				if(selectedZoneObj.networktype ==	"Advanced" && selectedZoneObj.securitygroupsenabled == true) { // Advanced SG-enabled zone 		
-					var networkData = {
-						zoneId: selectedZoneObj.id,
-						type: 'Shared',
-						supportedServices: 'SecurityGroup'
-					};										
-					if (!(cloudStack.context.projects && cloudStack.context.projects[0])) {
-						networkData.domainid = g_domainid;
-						networkData.account = g_account;
-					}						
+				        			
+				if(selectedZoneObj.networktype ==	"Advanced" && selectedZoneObj.securitygroupsenabled == true) { // Advanced SG-enabled zone 	          
+          var array2 = [];							
+					var myNetworks = $('.multi-wizard:visible form').data('my-networks'); //widget limitation: If using an advanced security group zone, get the guest networks like this 
+					var defaultNetworkId = $('.multi-wizard:visible form').find('input[name=defaultNetwork]:checked').val();
+										
+					var checkedNetworkIdArray;
+					if(typeof(myNetworks) == "object" && myNetworks.length != null) { //myNetworks is an array of string, e.g. ["203", "202"],
+						checkedNetworkIdArray = myNetworks;
+					}
+					else if(typeof(myNetworks) == "string" && myNetworks.length > 0) { //myNetworks is a string, e.g. "202"
+						checkedNetworkIdArray = [];
+						checkedNetworkIdArray.push(myNetworks);
+					}
+					else { // typeof(myNetworks) == null
+						checkedNetworkIdArray = [];
+					}
 					
-					var selectedNetworkObj = null;					
-					$.ajax({
-						url: createURL('listNetworks'),
-						data: networkData,
-						async: false,
-						success: function(json) {		              			
-							var networks = json.listnetworksresponse.network;
-							if(networks != null && networks.length > 0) {
-							  selectedNetworkObj = networks[0]; //each Advanced SG-enabled zone has only one guest network that is Shared and has SecurityGroup service
-							}
+					//add default network first
+					if(defaultNetworkId != null && defaultNetworkId.length > 0 && defaultNetworkId != 'new-network')
+						array2.push(defaultNetworkId);
+
+					//then, add other checked networks
+					if(checkedNetworkIdArray.length > 0) {
+						for(var i=0; i < checkedNetworkIdArray.length; i++) {
+							if(checkedNetworkIdArray[i] != defaultNetworkId) //exclude defaultNetworkId that has been added to array2
+								array2.push(checkedNetworkIdArray[i]);
 						}
-					});				 
-					if(selectedNetworkObj != null) {
-				    array1.push("&networkIds=" + selectedNetworkObj.id);	
 					}
-					else {
-					  alert('unable to find any Shared network with SecurityGroup service. Therefore, unable to deploy VM in this Advanced SecurityGroup-enabled zone.');
-						return; 
-					}
-				}
-				*/
-				
+					
+					array1.push("&networkIds=" + array2.join(","));					
+				}				
       }
       else if (step5ContainerType == 'nothing-to-select') {	  
 				if(args.context.networks != null) { //from VPC tier