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