CLOUDSTACK-4266: UI > Instrastructure > clusters > Add Cluster dialog > if configuration "vmware.use.nexus.switch" is set to false, hide VSM fields.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/81193ff5 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/81193ff5 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/81193ff5 Branch: refs/heads/ldapplugin Commit: 81193ff522e9b37cfb396d0edd7e54250aa56025 Parents: b0fc311 Author: Jessica Wang <[email protected]> Authored: Wed Aug 28 13:29:47 2013 -0700 Committer: Jessica Wang <[email protected]> Committed: Wed Aug 28 13:32:04 2013 -0700 ---------------------------------------------------------------------- ui/scripts/system.js | 198 +++++++++++++++++++++------------------------- 1 file changed, 91 insertions(+), 107 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/81193ff5/ui/scripts/system.js ---------------------------------------------------------------------- diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 63e3163..8eb113e 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -10306,29 +10306,96 @@ }); if ($form.find('.form-item[rel=hypervisor] select').val() == 'VMware' ) { - // VSM fields need to be required if a traffic override is selected and vSwitchType is 'nexusdvs'. - // This is done by switching out optional fields for required fields; - 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'); + $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 dvSwitchEnabled = false; + $.ajax({ + url: createURL('listConfigurations'), + data: { + name: 'vmware.use.dvswitch' + }, + async: false, + success: function(json) { + if (json.listconfigurationsresponse.configuration[0].value == 'true') { + dvSwitchEnabled = true; + } + } + }); + if (dvSwitchEnabled) { + $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=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(); + $vsmReqFields.hide(); + } + //***** 'vmware.use.nexus.vswitch' (end) ***** - - 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 { + } else { //XenServer, KVM, etc (non-VMware) + $form.find('.form-item[rel=vCenterHost]').css('display', 'none'); + $form.find('.form-item[rel=vCenterUsername]').css('display', 'none'); + $form.find('.form-item[rel=vCenterPassword]').css('display', 'none'); + $form.find('.form-item[rel=vCenterDatacenter]').css('display', 'none'); + $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'); $vsmFields.hide(); $vsmReqFields.hide(); - } - + } }); + + $form.trigger('click'); }, fields: { zoneid: { @@ -10365,10 +10432,7 @@ hypervisor: { label: 'label.hypervisor', docID: 'helpClusterHypervisor', - select: function(args) { - var vSwitchEnabled = false; - var dvSwitchEnabled = false; - + select: function(args) { $.ajax({ url: createURL("listHypervisors"), dataType: "json", @@ -10387,90 +10451,6 @@ }); } }); - - // Check whether vSwitch capability is enabled - $.ajax({ - url: createURL('listConfigurations'), - data: { - name: 'vmware.use.nexus.vswitch' - }, - async: false, - success: function(json) { - if (json.listconfigurationsresponse.configuration[0].value == 'true') { - vSwitchEnabled = true; - } - } - }); - - //Check whether dvSwitch is enabled or not - $.ajax({ - url: createURL('listConfigurations'), - data: { - name: 'vmware.use.dvswitch' - }, - async: false, - success: function(json) { - if (json.listconfigurationsresponse.configuration[0].value == 'true') { - dvSwitchEnabled = true; - } - } - }); - - - args.$select.bind("change", function(event) { - var $form = $(this).closest('form'); - - /* - var $vsmFields = $form.find('.form-item').filter(function() { - var vsmFields = [ - 'vsmipaddress', - 'vsmusername', - 'vsmpassword' - ]; - return $.inArray($(this).attr('rel'), vsmFields) > -1; - }); - */ - - if ($(this).val() == "VMware") { - if (dvSwitchEnabled) { - $form.find('.form-item[rel=overridepublictraffic]').css('display', 'inline-block'); - $form.find('.form-item[rel=overridepublictraffic]').find('input[type=checkbox]').removeAttr('checked'); - - $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'inline-block'); - $form.find('.form-item[rel=overrideguesttraffic]').find('input[type=checkbox]').removeAttr('checked'); - } else { - $form.find('.form-item[rel=overridepublictraffic]').css('display', 'none'); - $form.find('.form-item[rel=overrideguesttraffic]').css('display', 'none'); - } - $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'); - - /* - if (vSwitchEnabled) { - $vsmFields.css('display', 'inline-block'); - } else { - $vsmFields.css('display', 'none'); - } - */ - - } else { - $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=vCenterHost]').css('display', 'none'); - $form.find('.form-item[rel=vCenterUsername]').css('display', 'none'); - $form.find('.form-item[rel=vCenterPassword]').css('display', 'none'); - $form.find('.form-item[rel=vCenterDatacenter]').css('display', 'none'); - $form.find('.form-item[rel=enableNexusVswitch]').css('display', 'none'); - //$vsmFields.css('display', 'none'); - } - }); } }, podId: { @@ -10565,6 +10545,7 @@ //hypervisor==VMWare begins here vCenterHost: { label: 'label.vcenter.host', + isHidden: true, docID: 'helpClustervCenterHost', validation: { required: false @@ -10572,15 +10553,18 @@ }, vCenterUsername: { label: 'label.vcenter.username', + isHidden: true, docID: 'helpClustervCenterUsername' }, vCenterPassword: { label: 'label.vcenter.password', + isHidden: true, docID: 'helpClustervCenterPassword', isPassword: true }, vCenterDatacenter: { label: 'label.vcenter.datacenter', + isHidden: true, docID: 'helpClustervCenterDatacenter', validation: { required: false
