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

[29/50] [abbrv] git commit: Conditionally show select SG step

Conditionally show select SG step

Only show select security group step if at least one guest network
with SecurityGroup service is selected.


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

Branch: refs/heads/marvin-refactor-phase1
Commit: a2b2d45e401bd73a2261db461368b030c56f69c8
Parents: 6f90a86
Author: Brian Federle <br...@citrix.com>
Authored: Thu Jan 24 13:43:15 2013 -0800
Committer: Brian Federle <br...@citrix.com>
Committed: Thu Jan 24 14:57:43 2013 -0800

----------------------------------------------------------------------
 ui/scripts/instanceWizard.js           |   33 ++++++++++++++++++++++++--
 ui/scripts/ui-custom/instanceWizard.js |   10 ++++++++
 2 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a2b2d45e/ui/scripts/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instanceWizard.js b/ui/scripts/instanceWizard.js
index 8ebee62..070f7e7 100644
--- a/ui/scripts/instanceWizard.js
+++ b/ui/scripts/instanceWizard.js
@@ -16,7 +16,7 @@
 // under the License. 
 
 (function($, cloudStack) {
-  var zoneObjs, hypervisorObjs, featuredTemplateObjs, communityTemplateObjs, myTemplateObjs, featuredIsoObjs, community;
+  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'
 
@@ -40,6 +40,33 @@
         !data.vpcid;
     },
 
+    // Runs when advanced SG-enabled zone is run, before
+    // the security group step
+    //
+    // -- if it returns false, then 'Select Security Group' is skipped.
+    //
+    advSGFilter: function(args) {
+      var selectedNetworks;
+      
+      if ($.isArray(args.data['my-networks'])) {
+        selectedNetworks = $(args.data['my-networks']).map(function(index, myNetwork) {
+          return $.grep(networkObjs, function(networkObj) {
+            return networkObj.id == myNetwork;
+          });
+        });        
+      } else {
+        selectedNetworks = $.grep(networkObjs, function(networkObj) {
+          return networkObj.id == args.data['my-networks'];
+        });
+      }
+
+      return $.grep(selectedNetworks, function(network) {
+        return $.grep(network.service, function(service) {
+          return service.name == 'SecurityGroup';
+        }).length;
+      }).length;
+    },
+
     // Data providers for each wizard step
     steps: [
     
@@ -347,7 +374,7 @@
           networkData.account = g_account;
         }
 
-        var networkObjs, vpcObjs;
+        var vpcObjs;
 
         //listVPCs without account/domainid/listAll parameter will return only VPCs belonging to the current login. That's what should happen in Instances page's VM Wizard. 
 				//i.e. If the current login is root-admin, do not show VPCs belonging to regular-user/domain-admin in Instances page's VM Wizard. 
@@ -365,7 +392,7 @@
           async: false,
           success: function(json) {
             networkObjs = json.listnetworksresponse.network ? json.listnetworksresponse.network : [];
-												
+
 						if(networkObjs.length > 0) {
 						  for(var i = 0; i < networkObjs.length; i++) {
 								var networkObj = networkObjs[i];    

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a2b2d45e/ui/scripts/ui-custom/instanceWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui-custom/instanceWizard.js b/ui/scripts/ui-custom/instanceWizard.js
index d1f2507..67d2a69 100644
--- a/ui/scripts/ui-custom/instanceWizard.js
+++ b/ui/scripts/ui-custom/instanceWizard.js
@@ -821,6 +821,16 @@
                 cloudStack.dialog.notice({ message: 'message.step.4.continue' });
                 return false;
               }
+
+              if ($activeStep.hasClass('next-use-security-groups')) {
+                var advSGFilter = args.advSGFilter({
+                  data: cloudStack.serializeForm($form)
+                });
+
+                if (!advSGFilter) {
+                  showStep(6);
+                }
+              }
             }
 						
 						//step 6 - review (spcifiy displyname, group as well)