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').

This commit is contained in:
Jessica Wang 2013-08-29 14:13:00 -07:00
parent 2a0e371881
commit 0f4917154e
1 changed files with 74 additions and 67 deletions

View File

@ -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
},