CLOUDSTACK-4266: UI > Infrastructure > clusters > add cluster dialog > if configuration 'vmware.use.dvswitch' is set to false (i.e. override public/guest traffic checkboxes are hidden), hide VSM fields (regardless of another configuration 'vmware.use.nexus.switch').
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0f491715 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0f491715 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0f491715 Branch: refs/heads/ldapplugin Commit: 0f4917154ea07db434ce110287c8adc2d7e4a50d Parents: 2a0e371 Author: Jessica Wang <[email protected]> Authored: Thu Aug 29 14:13:00 2013 -0700 Committer: Jessica Wang <[email protected]> Committed: Thu Aug 29 14:19:28 2013 -0700 ---------------------------------------------------------------------- ui/scripts/system.js | 141 ++++++++++++++++++++++++---------------------- 1 file changed, 74 insertions(+), 67 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0f491715/ui/scripts/system.js ---------------------------------------------------------------------- diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8eb113e..43f7b2a 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -10285,9 +10285,8 @@ createForm: { title: 'label.add.cluster', preFilter: function(args) { - var $form = args.$form; - - $form.click(function() { + var $form = args.$form; + $form.click(function() { var $vsmFields = $form.find('.form-item').filter(function() { var vsmFields = [ 'vsmipaddress', @@ -10297,21 +10296,26 @@ return $.inArray($(this).attr('rel'), vsmFields) > -1; }); var $vsmReqFields = $form.find('.form-item').filter(function() { - var vsmFields = [ + var vsmReqFields = [ 'vsmipaddress_req', 'vsmusername_req', 'vsmpassword_req' ]; - return $.inArray($(this).attr('rel'), vsmFields) > -1; - }); + return $.inArray($(this).attr('rel'), vsmReqFields) > -1; + }); if ($form.find('.form-item[rel=hypervisor] select').val() == 'VMware' ) { $form.find('.form-item[rel=vCenterHost]').css('display', 'inline-block'); $form.find('.form-item[rel=vCenterUsername]').css('display', 'inline-block'); $form.find('.form-item[rel=vCenterPassword]').css('display', 'inline-block'); $form.find('.form-item[rel=vCenterDatacenter]').css('display', 'inline-block'); - - //***** 'vmware.use.dvswitch' (begin) (whether to show override traffic checkbox) ***** + + var $overridePublicTraffic = $form.find('.form-item[rel=overridepublictraffic] input[type=checkbox]'); + var $vSwitchPublicType = $form.find('.form-item[rel=vSwitchPublicType] select'); + var $overrideGuestTraffic = $form.find('.form-item[rel=overrideguesttraffic] input[type=checkbox]'); + var $vSwitchGuestType = $form.find('.form-item[rel=vSwitchGuestType] select'); + + //***** 'vmware.use.dvswitch' : whether to show override traffic checkbox (begin) ***** var dvSwitchEnabled = false; $.ajax({ url: createURL('listConfigurations'), @@ -10325,57 +10329,53 @@ } } }); - if (dvSwitchEnabled) { + if (dvSwitchEnabled == true) { $form.find('.form-item[rel=overridepublictraffic]').css('display', 'inline-block'); - $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'inline-block'); - } else { + $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'inline-block'); + + //'vmware.use.nexus.vswitch': whether to show VSM fields (begin) + var vSwitchEnabled = false; + $.ajax({ + url: createURL('listConfigurations'), + data: { + name: 'vmware.use.nexus.vswitch' + }, + async: false, + success: function(json) { + if (json.listconfigurationsresponse.configuration[0].value == 'true') { + vSwitchEnabled = true; + } + } + }); + if (vSwitchEnabled == true) { + if (($overridePublicTraffic.is(':checked') && $vSwitchPublicType.val() == 'nexusdvs') || + ($overrideGuestTraffic.is(':checked') && $vSwitchGuestType.val() == 'nexusdvs' )) { + $vsmReqFields.css('display', 'inline-block'); + $vsmFields.hide(); + } else { + $vsmFields.css('display', 'inline-block'); + $vsmReqFields.hide(); + } + + } else { //vSwitchEnabled == false + $vsmFields.hide(); + $vsmReqFields.hide(); + } + //***** 'vmware.use.dvswitch' : whether to show override traffic checkbox (end) ***** + + } else { //dvSwitchEnabled == false $form.find('.form-item[rel=overridepublictraffic]').css('display', 'none'); $form.find('.form-item[rel=vSwitchPublicType]').css('display', 'none'); $form.find('.form-item[rel=vSwitchPublicName]').css('display', 'none'); $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'none'); $form.find('.form-item[rel=vSwitchGuestType]').css('display', 'none'); - $form.find('.form-item[rel=vSwitchGuestName]').css('display', 'none'); - } - //***** 'vmware.use.dvswitch' (end) ***** - - //***** 'vmware.use.nexus.vswitch' (begin) (whether to show VSM fields) ***** - var vSwitchEnabled = false; - $.ajax({ - url: createURL('listConfigurations'), - data: { - name: 'vmware.use.nexus.vswitch' - }, - async: false, - success: function(json) { - if (json.listconfigurationsresponse.configuration[0].value == 'true') { - vSwitchEnabled = true; - } - } - }); - if (vSwitchEnabled) { - //$vsmFields.css('display', 'inline-block'); - var $overridePublicTraffic = $form.find('.form-item[rel=overridepublictraffic] input[type=checkbox]'); - var $vSwitchPublicType = $form.find('.form-item[rel=vSwitchPublicType] select'); - - var $overrideGuestTraffic = $form.find('.form-item[rel=overrideguesttraffic] input[type=checkbox]'); - var $vSwitchGuestType = $form.find('.form-item[rel=vSwitchGuestType] select'); - - if (($overridePublicTraffic.is(':checked') && $vSwitchPublicType.val() == 'nexusdvs') || - ($overrideGuestTraffic.is(':checked') && $vSwitchGuestType.val() == 'nexusdvs' )) { - $vsmReqFields.css('display', 'inline-block'); - $vsmFields.hide(); - } else { - $vsmFields.css('display', 'inline-block'); - $vsmReqFields.hide(); - } - - } else { - //$vsmFields.css('display', 'none'); - $vsmFields.hide(); + $form.find('.form-item[rel=vSwitchGuestName]').css('display', 'none'); + + $vsmFields.hide(); $vsmReqFields.hide(); - } - //***** 'vmware.use.nexus.vswitch' (end) ***** + } + //***** 'vmware.use.dvswitch' (end) ***** } else { //XenServer, KVM, etc (non-VMware) $form.find('.form-item[rel=vCenterHost]').css('display', 'none'); @@ -10385,14 +10385,26 @@ $form.find('.form-item[rel=enableNexusVswitch]').css('display', 'none'); $form.find('.form-item[rel=overridepublictraffic]').css('display', 'none'); - $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'none'); - $form.find('.form-item[rel=vSwitchPublicType]').css('display', 'none'); - $form.find('.form-item[rel=vSwitchGuestType]').css('display', 'none'); - $form.find('.form-item[rel=vSwitchPublicName]').css('display', 'none'); - $form.find('.form-item[rel=vSwitchGuestName]').css('display', 'none'); + $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'none'); $vsmFields.hide(); $vsmReqFields.hide(); - } + } + + if ($form.find('.form-item[rel=overridepublictraffic]').css('display') != 'none' && $overridePublicTraffic.is(':checked')) { + $form.find('.form-item[rel=vSwitchPublicType]').css('display', 'inline-block'); + $form.find('.form-item[rel=vSwitchPublicName]').css('display', 'inline-block'); + } else { + $form.find('.form-item[rel=vSwitchPublicType]').css('display', 'none'); + $form.find('.form-item[rel=vSwitchPublicName]').css('display', 'none'); + } + + if ($form.find('.form-item[rel=overrideguesttraffic]').css('display') != 'none' && $overrideGuestTraffic.is(':checked')) { + $form.find('.form-item[rel=vSwitchGuestType]').css('display', 'inline-block'); + $form.find('.form-item[rel=vSwitchGuestName]').css('display', 'inline-block'); + } else { + $form.find('.form-item[rel=vSwitchGuestType]').css('display', 'none'); + $form.find('.form-item[rel=vSwitchGuestName]').css('display', 'none'); + } }); $form.trigger('click'); @@ -10630,14 +10642,12 @@ args.response.success({ data: items }); - }, - isHidden: true, - dependsOn: 'overridepublictraffic' + }, + isHidden: true }, vSwitchPublicName: { - label: 'Public Traffic vSwitch Name', - dependsOn: 'overridepublictraffic', + label: 'Public Traffic vSwitch Name', isHidden: true }, @@ -10649,7 +10659,6 @@ docID: 'helpOverrideGuestNetwork' }, - vSwitchGuestType: { label: 'Guest Traffic vSwitch Type', select: function(args) { @@ -10703,13 +10712,11 @@ data: items }); }, - isHidden: true, - dependsOn: 'overrideguesttraffic' + isHidden: true }, vSwitchGuestName: { - label: ' Guest Traffic vSwitch Name', - dependsOn: 'overrideguesttraffic', + label: ' Guest Traffic vSwitch Name', isHidden: true },
