You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/01/16 01:17:35 UTC

git commit: Instance wizard UI: Support advanced zone with security groups

Updated Branches:
  refs/heads/ui-instanceWizard-advanced-sg-zones 47251b51a -> 59870e033


Instance wizard UI: Support advanced zone with security groups

For advanced zones with SG enabled, show both the add guest network
step as well as the add security group step.


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

Branch: refs/heads/ui-instanceWizard-advanced-sg-zones
Commit: 59870e033c63738eb5c3c16ebc1d2c92c1f74dae
Parents: 47251b5
Author: Brian Federle <bf...@gmail.com>
Authored: Tue Jan 15 16:16:25 2013 -0800
Committer: Brian Federle <bf...@gmail.com>
Committed: Tue Jan 15 16:16:25 2013 -0800

----------------------------------------------------------------------
 ui/index.jsp                           |    2 +-
 ui/scripts/instanceWizard.js           |   31 ++++++++++++++++++++------
 ui/scripts/ui-custom/instanceWizard.js |   19 ++++++++++++++-
 3 files changed, 42 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/59870e03/ui/index.jsp
----------------------------------------------------------------------
diff --git a/ui/index.jsp b/ui/index.jsp
index a9b83e6..3fe6bad 100644
--- a/ui/index.jsp
+++ b/ui/index.jsp
@@ -220,7 +220,7 @@ under the License.
             </div>
 
             <!-- Step 5: Network -->
-            <div class="step network" wizard-step-id="network">
+            <div class="step network always-load" wizard-step-id="network">
               <!-- 5a: Network description -->
               <div class="wizard-step-conditional nothing-to-select">     
 								<p id="from_instance_page_1"><fmt:message key="message.zone.no.network.selection"/></p>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/59870e03/ui/scripts/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js
index 89ca1d6..345905c 100644
--- a/ui/scripts/instanceWizard.js
+++ b/ui/scripts/instanceWizard.js
@@ -268,25 +268,30 @@
       }
 
       if (selectedZoneObj.networktype == "Advanced") {  //Advanced zone. Show network list.	 
-				var $networkStep = $(".step.network:visible .nothing-to-select");		
+				var $networkStep = $(".step.network:visible .nothing-to-select");
+				var $networkStepContainer = $('.step.network:visible');
+
 				if(args.initArgs.pluginForm != null && args.initArgs.pluginForm.name == "vpcTierInstanceWizard") { //from VPC Tier chart
 				  step5ContainerType = '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 
+				} else { //from Instance page
 				  if(selectedZoneObj.securitygroupsenabled != true) { // Advanced SG-disabled zone
 						step5ContainerType = '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();
+					} else { // Advanced SG-enabled zone
+					  step5ContainerType = 'select-advanced-sg';
 					}
-					else { // Advanced SG-enabled zone
-					  step5ContainerType = 'select-security-group';					
-					}
+
+          if ($networkStepContainer.hasClass('next-use-security-groups')) {
+            $networkStepContainer.removeClass('repeat next-use-security-groups loaded');
+            step5ContainerType = 'select-security-group';
+          }
 				}
       }
       else { //Basic zone. Show securigy group list or nothing(when no SecurityGroup service in guest network)
@@ -320,7 +325,7 @@
       }
 
       //step5ContainerType = 'nothing-to-select'; //for testing only, comment it out before checking in
-      if(step5ContainerType == 'select-network') {
+      if(step5ContainerType == 'select-network' || step5ContainerType == 'select-advanced-sg') {
         var defaultNetworkArray = [], optionalNetworkArray = [];
         var networkData = {
           zoneId: args.currentData.zoneid
@@ -379,6 +384,9 @@
         });
         //get network offerings (end)	***			
 
+        if (step5ContainerType == 'select-advanced-sg') {
+          $networkStepContainer.addClass('repeat next-use-security-groups');
+        }
 
         args.response.success({
           type: 'select-network',
@@ -449,6 +457,15 @@
       // 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);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/59870e03/ui/scripts/ui-custom/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui-custom/instanceWizard.js b/ui/scripts/ui-custom/instanceWizard.js
index d2724a5..f2cfd9c 100644
--- a/ui/scripts/ui-custom/instanceWizard.js
+++ b/ui/scripts/ui-custom/instanceWizard.js
@@ -598,6 +598,8 @@
               response: {
                 success: function(args) {
                   var vpcs = args.data.vpcs;
+                  var addClass = args.addClass;
+                  var removeClass = args.removeClass;
 
                   // Populate VPC drop-down
                   $vpcSelect.html('');
@@ -753,7 +755,8 @@
               )
             );
 
-            $targetStep.addClass('loaded');
+            if (!$targetStep.hasClass('repeat') &&
+                !$targetStep.hasClass('always-load')) $targetStep.addClass('loaded');
           }
 
           // Show launch vm button if last step
@@ -806,6 +809,14 @@
 
             //step 5 - select network
             if($activeStep.find('.wizard-step-conditional.select-network:visible').size() > 0) {
+              var data = $activeStep.data('my-networks');
+
+              if (!data) {
+                $activeStep.closest('form').data('my-networks', cloudStack.serializeForm(
+                  $activeStep.closest('form')
+                )['my-networks']);
+              }
+
               if($activeStep.find('input[type=checkbox]:checked').size() == 0) {  //if no checkbox is checked
                 cloudStack.dialog.notice({ message: 'message.step.4.continue' });
                 return false;
@@ -828,7 +839,11 @@
               }
             }
 
-            showStep($steps.filter(':visible').index() + 2);
+            if ($activeStep.hasClass('repeat')) {
+              showStep($steps.filter(':visible').index() + 1);
+            } else {
+              showStep($steps.filter(':visible').index() + 2);
+            }
 
             return false;
           }