diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8eb113ed81d..43f7b2abfe6 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 },