CLOUDSTACK-2074: cloudstack UI - Affinity - VM Wizard - collect affinity group 
IDs and pass them to API call.


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

Branch: refs/heads/master
Commit: 7566eae20909e115b230bc0de12fe04d2f61b48c
Parents: b203e6c
Author: Jessica Wang <jessica.w...@citrix.com>
Authored: Thu Apr 18 10:30:34 2013 -0700
Committer: Jessica Wang <jessica.w...@citrix.com>
Committed: Thu Apr 18 10:30:34 2013 -0700

----------------------------------------------------------------------
 ui/scripts/instanceWizard.js |   50 ++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7566eae2/ui/scripts/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js
index 43c2757..e7aa673 100644
--- a/ui/scripts/instanceWizard.js
+++ b/ui/scripts/instanceWizard.js
@@ -18,7 +18,7 @@
 (function($, cloudStack) {
   var zoneObjs, hypervisorObjs, featuredTemplateObjs, communityTemplateObjs, 
myTemplateObjs, featuredIsoObjs, community, networkObjs;
   var selectedZoneObj, selectedTemplateObj, selectedHypervisor, 
selectedDiskOfferingObj; 
-  var step5ContainerType = 'nothing-to-select'; //'nothing-to-select', 
'select-network', 'select-security-group', 'select-advanced-sg'(advanced 
sg-enabled zone)
+  var step6ContainerType = 'nothing-to-select'; //'nothing-to-select', 
'select-network', 'select-security-group', 'select-advanced-sg'(advanced 
sg-enabled zone)
 
   cloudStack.instanceWizard = {
     maxDiskOfferingSize: function() {
@@ -339,26 +339,26 @@
                                  var $networkStepContainer = 
$('.step.network:visible');
 
                                  if(args.initArgs.pluginForm != null && 
args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier 
chart
-                                   step5ContainerType = 'nothing-to-select';   
                                
+                                   step6ContainerType = 'nothing-to-select';   
                                
                                          
$networkStep.find("#from_instance_page_1").hide();            
             $networkStep.find("#from_instance_page_2").hide();                 
                
                                          
$networkStep.find("#from_vpc_tier").text("tier " + 
args.context.networks[0].name);                                    
                                          
$networkStep.find("#from_vpc_tier").show();                                   
                                  } else { //from Instance page
                                    if(selectedZoneObj.securitygroupsenabled != 
true) { // Advanced SG-disabled zone
-                                                 step5ContainerType = 
'select-network';
+                                                 step6ContainerType = 
'select-network';
                                                  
$networkStep.find("#from_instance_page_1").show();            
                                                  
$networkStep.find("#from_instance_page_2").show();
                                                  
$networkStep.find("#from_vpc_tier").text("");                 
                                                  
$networkStep.find("#from_vpc_tier").hide();
               $networkStepContainer.removeClass('next-use-security-groups');
                                          } else { // Advanced SG-enabled zone
-                                           step5ContainerType = 
'select-advanced-sg';
+                                           step6ContainerType = 
'select-advanced-sg';
                                          }
 
             if ($networkStepContainer.hasClass('next-use-security-groups')) {
               $networkStepContainer.removeClass('repeat 
next-use-security-groups loaded');
-              step5ContainerType = 'select-security-group';
+              step6ContainerType = 'select-security-group';
             }
                                  }
         }
@@ -385,15 +385,15 @@
           });
 
           if(includingSecurityGroupService == false || selectedHypervisor == 
"VMware") {
-            step5ContainerType = 'nothing-to-select';
+            step6ContainerType = 'nothing-to-select';
           }
           else {
-            step5ContainerType = 'select-security-group';
+            step6ContainerType = 'select-security-group';
           }
         }
 
-        //step5ContainerType = 'nothing-to-select'; //for testing only, 
comment it out before checking in
-        if(step5ContainerType == 'select-network' || step5ContainerType == 
'select-advanced-sg') {
+        //step6ContainerType = 'nothing-to-select'; //for testing only, 
comment it out before checking in
+        if(step6ContainerType == 'select-network' || step6ContainerType == 
'select-advanced-sg') {
           var defaultNetworkArray = [], optionalNetworkArray = [];
           var networkData = {
             zoneId: args.currentData.zoneid,
@@ -478,7 +478,7 @@
 
           $networkStepContainer.removeClass('repeat next-use-security-groups');
 
-          if (step5ContainerType == 'select-advanced-sg') {
+          if (step6ContainerType == 'select-advanced-sg') {
             $networkStepContainer.addClass('repeat next-use-security-groups');
 
             // Add guest network is disabled
@@ -498,7 +498,7 @@
           });
         }
 
-        else if(step5ContainerType == 'select-security-group') {
+        else if(step6ContainerType == 'select-security-group') {
           var securityGroupArray = [];
           var data = {
             domainid: g_domainid,
@@ -530,7 +530,7 @@
           });
         }
 
-        else if(step5ContainerType == 'nothing-to-select') {
+        else if(step6ContainerType == 'nothing-to-select') {
           args.response.success({
             type: 'nothing-to-select',
             data: {            
@@ -544,7 +544,7 @@
 
       },
 
-      // Step 6: Review
+      // Step 7: Review
       function(args) {
         return false;
       }
@@ -569,9 +569,25 @@
         if(selectedDiskOfferingObj.iscustomized == true)
           array1.push("&size=" + args.data.size);
       }
+                       
+                       //step 5: select an affinity group              
+                       var checkedAffinityGroupIdArray;
+                       if(typeof(args.data["affinity-groups"]) == "object" && 
args.data["affinity-groups"].length != null) { //args.data["affinity-groups"] 
is an array of string, e.g. ["2375f8cc-8a73-4b8d-9b26-50885a25ffe0", 
"27c60d2a-de7f-4bb7-96e5-a602cec681df","c6301d77-99b5-4e8a-85e2-3ea2ab31c342"],
+                               checkedAffinityGroupIdArray = 
args.data["affinity-groups"];
+                       }
+                       else if(typeof(args.data["affinity-groups"]) == 
"string" && args.data["affinity-groups"].length > 0) { 
//args.data["affinity-groups"] is a string, e.g. 
"2375f8cc-8a73-4b8d-9b26-50885a25ffe0"
+                               checkedAffinityGroupIdArray = [];
+                               
checkedAffinityGroupIdArray.push(args.data["affinity-groups"]);
+                       }
+                       else { // typeof(args.data["affinity-groups"]) == null
+                               checkedAffinityGroupIdArray = [];
+                       }
 
-      //step 5: select network
-      if (step5ContainerType == 'select-network' || step5ContainerType == 
'select-advanced-sg') {
+                       if(checkedAffinityGroupIdArray.length > 0)
+                               array1.push("&affinitygroupids=" + 
checkedAffinityGroupIdArray.join(","));
+                                               
+      //step 6: select network
+      if (step6ContainerType == 'select-network' || step6ContainerType == 
'select-advanced-sg') {
         var array2 = [];
         var defaultNetworkId = args.data.defaultNetwork; 
//args.data.defaultNetwork might be equal to string "new-network" or a network 
ID
 
@@ -634,7 +650,7 @@
 
         array1.push("&networkIds=" + array2.join(","));
       }
-      else if (step5ContainerType == 'select-security-group') {
+      else if (step6ContainerType == 'select-security-group') {
         var checkedSecurityGroupIdArray;
         if(typeof(args.data["security-groups"]) == "object" && 
args.data["security-groups"].length != null) { //args.data["security-groups"] 
is an array of string, e.g. ["2375f8cc-8a73-4b8d-9b26-50885a25ffe0", 
"27c60d2a-de7f-4bb7-96e5-a602cec681df","c6301d77-99b5-4e8a-85e2-3ea2ab31c342"],
           checkedSecurityGroupIdArray = args.data["security-groups"];
@@ -682,7 +698,7 @@
                                        array1.push("&networkIds=" + 
array2.join(","));                                 
                                }                               
       }
-      else if (step5ContainerType == 'nothing-to-select') {      
+      else if (step6ContainerType == 'nothing-to-select') {      
                                if(args.context.networks != null) { //from VPC 
tier
                                  array1.push("&networkIds=" + 
args.context.networks[0].id);
                                        array1.push("&domainid=" + 
args.context.vpc[0].domainid);

Reply via email to