You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2012/07/20 23:28:58 UTC

git commit: cloudstack 3.0 UI - VPC - add network offering dialog - when service(s) has VPC Virtual Router as provider: (1) conserve mode is set to unchecked and grayed out. (2) redundant router capability checkbox is set to unchecked and grayed out. (3)

Updated Branches:
  refs/heads/vpc ee9074a17 -> 20db2e515


cloudstack 3.0 UI - VPC - add network offering dialog - when service(s) has VPC Virtual Router as provider: (1) conserve mode is set to unchecked and grayed out. (2) redundant router capability checkbox is set to unchecked and grayed out. (3) remove Firewall service, SecurityGroup service.


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

Branch: refs/heads/vpc
Commit: 20db2e515bd3fe33912765b8d54d3511dcbdba51
Parents: ee9074a
Author: Jessica Wang <je...@citrix.com>
Authored: Fri Jul 20 14:28:20 2012 -0700
Committer: Jessica Wang <je...@citrix.com>
Committed: Fri Jul 20 14:28:20 2012 -0700

----------------------------------------------------------------------
 ui/scripts/configuration.js |   84 ++++++++++++++++++++++++++++++++------
 1 files changed, 71 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/20db2e51/ui/scripts/configuration.js
----------------------------------------------------------------------
diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js
index 766dcf3..85a169b 100644
--- a/ui/scripts/configuration.js
+++ b/ui/scripts/configuration.js
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 (function(cloudStack, $) {
 
   var requiredNetworkOfferingExists = false;
@@ -1032,7 +1033,9 @@
                 title: 'label.add.network.offering',               														
 								preFilter: function(args) {								  									
                   var $availability = args.$form.find('.form-item[rel=availability]');
-                  var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');
+                  var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');									
+									var $conservemode = args.$form.find('.form-item[rel=conservemode]');										
+                  var $serviceSourceNatRedundantRouterCapabilityCheckbox = args.$form.find('.form-item[rel="service.SourceNat.redundantRouterCapabilityCheckbox"]');	                  		
                   var hasAdvancedZones = false;
 
                   // Check whether there are any advanced zones
@@ -1064,7 +1067,8 @@
                       $availability.hide();
                     }
 
-										//check whether to show or hide serviceOfferingId field										
+										
+										//when service(s) has Virtual Router as provider.....							
                     var havingVirtualRouterForAtLeastOneService = false;									
 										$(serviceCheckboxNames).each(function(){										  
 											var checkboxName = this;                      								
@@ -1076,17 +1080,48 @@
 													return false; //break each loop
 												}
 											}																					
-										});
-                    
-                    if(havingVirtualRouterForAtLeastOneService == true)
+										});                    
+                    if(havingVirtualRouterForAtLeastOneService == true) {
                       $serviceOfferingId.css('display', 'inline-block');
-                    else
+										}
+                    else {
                       $serviceOfferingId.hide();		
+										}
 
-	                  $(':ui-dialog').dialog('option', 'position', 'center');
+										
+										/*
+										when service(s) has VPC Virtual Router as provider:
+                    (1) conserve mode is set to unchecked and grayed out.	
+                    (2) redundant router capability checkbox is set to unchecked and grayed out.	
+                    (3) remove Firewall service, SecurityGroup service. 									
+                    */										
+                    var havingVpcVirtualRouterForAtLeastOneService = false;									
+										$(serviceCheckboxNames).each(function(){										  
+											var checkboxName = this;                      								
+											if($("input[name='" + checkboxName + "']").is(":checked") == true) {											  
+											  var providerFieldName = checkboxName.replace(".isEnabled", ".provider"); //either dropdown or input hidden field
+                        var providerName = $("[name='" + providerFieldName + "']").val(); 
+												if(providerName == "VpcVirtualRouter") {
+												  havingVpcVirtualRouterForAtLeastOneService = true;
+													return false; //break each loop
+												}
+											}																					
+										});                    
+                    if(havingVpcVirtualRouterForAtLeastOneService == true) {
+										  $conservemode.find("input[type=checkbox]").attr("disabled", "disabled"); 
+                      $conservemode.find("input[type=checkbox]").attr('checked', false);		
 
+                      $serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").attr("disabled", "disabled"); 
+                      $serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").attr('checked', false);										
+										}
+                    else {
+                      $conservemode.find("input[type=checkbox]").removeAttr("disabled"); 
+                      $serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").removeAttr("disabled"); 									
+										}
+																				
+	                  $(':ui-dialog').dialog('option', 'position', 'center');
 										
-										//hide/show service fields upon guestIpType(Shared/Isolated) and zoneType(Advanced/Basic) ***** (begin) *****						
+										//hide/show service fields upon guestIpType(Shared/Isolated), zoneType(Advanced/Basic), having VpcVirtualRouter or not ***** (begin) *****						
 										var serviceFieldsToHide = [];										
 										if($guestTypeField.val() == 'Shared') { //Shared network offering
 										  serviceFieldsToHide = [
@@ -1094,12 +1129,34 @@
 												'service.PortForwarding.isEnabled',													
 												'service.Firewall.isEnabled', 
 												'service.Vpn.isEnabled' 
-											];		
+											];	                      
+											if(havingVpcVirtualRouterForAtLeastOneService == true) { //add SecurityGroup to to-hide-list
+											  serviceFieldsToHide.push('service.SecurityGroup.isEnabled');
+											}
+											else { //remove SecurityGroup from to-hide-list										 
+											  var temp = $.map(serviceFieldsToHide, function(item) {												  
+													if (item != 'service.SecurityGroup.isEnabled') {
+													  return item;
+													}
+												});		
+												serviceFieldsToHide = temp;
+											}		
 										}
 										else { //Isolated network offering 
 										  serviceFieldsToHide = [
 											  'service.SecurityGroup.isEnabled'
-											];
+											];											
+											if(havingVpcVirtualRouterForAtLeastOneService == true) { //add firewall to to-hide-list
+											  serviceFieldsToHide.push('service.Firewall.isEnabled');
+											}
+											else { //remove firewall from to-hide-list									 
+											  var temp = $.map(serviceFieldsToHide, function(item) {												  
+													if (item != 'service.Firewall.isEnabled') {
+													  return item;
+													}
+												});		
+												serviceFieldsToHide = temp;
+											}
 										}
                      											
 										//hide service fields that are included in serviceFieldsToHide
@@ -1129,14 +1186,14 @@
                         }													
 											}											
 										}
-										//hide/show service fields upon guestIpType(Shared/Isolated) and zoneType(Advanced/Basic) ***** (end) *****
+										//hide/show service fields upon guestIpType(Shared/Isolated), zoneType(Advanced/Basic), having VpcVirtualRouter or not ***** (end) *****			
 																				
 										
 										//show LB Isolation dropdown only when (1)LB Service is checked (2)Service Provider is Netscaler OR F5 (3)Guest IP Type is Isolated 									
 										if((args.$form.find('.form-item[rel=\"service.Lb.isEnabled\"]').find('input[type=checkbox]').is(':checked') == true)
 										   &&(args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'Netscaler' 
 											    || args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'F5BigIp')
-											 ) {										  
+											 &&(args.$form.find('.form-item[rel=\"guestIpType\"]').find('select').val() == 'Isolated')) {										  
 											args.$form.find('.form-item[rel=\"service.Lb.lbIsolationDropdown\"]').css('display', 'inline-block');	
 										}
 										else {										  
@@ -1174,7 +1231,7 @@
 
                   displayText: { label: 'label.description', validation: { required: true } },
 
-                  networkRate: { label: 'label.network.rate' },
+                  networkRate: { label: 'label.network.rate.megabytes' },
 
 									/*
                   trafficType: {
@@ -1852,3 +1909,4 @@
   };
 	
 })(cloudStack, jQuery);
+