mirror of https://github.com/apache/cloudstack.git
bug 12524: create network offering dialog - show service offering dropdown only when Virtual Router is selected as a provider for at least one service.
This commit is contained in:
parent
074d33d9f3
commit
31c77ff69c
|
|
@ -1,7 +1,7 @@
|
|||
(function(cloudStack, $) {
|
||||
|
||||
var requiredNetworkOfferingExists = false;
|
||||
var networkServiceObjs = [];
|
||||
var networkServiceObjs = [], serviceCheckboxNames = [];
|
||||
|
||||
cloudStack.sections.configuration = {
|
||||
title: 'Configuration',
|
||||
|
|
@ -1043,11 +1043,12 @@
|
|||
desc: 'Please specify the network offering',
|
||||
preFilter: function(args) {
|
||||
var $availability = args.$form.find('.form-item[rel=availability]');
|
||||
|
||||
args.$form.bind('change', function() {
|
||||
var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');
|
||||
|
||||
args.$form.bind('change', function() { //when any field in the dialog is changed
|
||||
//check whether to show or hide availability field
|
||||
var $sourceNATField = args.$form.find('input[name=\"service.SourceNat.isEnabled\"]');
|
||||
var $guestTypeField = args.$form.find('select[name=guestIpType]');
|
||||
|
||||
if (!requiredNetworkOfferingExists &&
|
||||
$sourceNATField.is(':checked') &&
|
||||
$guestTypeField.val() == 'Isolated') {
|
||||
|
|
@ -1055,6 +1056,25 @@
|
|||
} else {
|
||||
$availability.hide();
|
||||
}
|
||||
|
||||
//check whether to show or hide serviceOfferingId field
|
||||
var havingVirtualRouterForAtLeastOneService = 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 == "VirtualRouter") {
|
||||
havingVirtualRouterForAtLeastOneService = true;
|
||||
return false; //break each loop
|
||||
}
|
||||
}
|
||||
});
|
||||
if(havingVirtualRouterForAtLeastOneService == true)
|
||||
$serviceOfferingId.css('display', 'inline-block');
|
||||
else
|
||||
$serviceOfferingId.hide();
|
||||
|
||||
});
|
||||
},
|
||||
fields: {
|
||||
|
|
@ -1134,7 +1154,9 @@
|
|||
capabilities: 'service' + '.' + serviceName + '.' + 'capabilities',
|
||||
provider: 'service' + '.' + serviceName + '.' + 'provider'
|
||||
};
|
||||
|
||||
|
||||
serviceCheckboxNames.push(id.isEnabled);
|
||||
|
||||
fields[id.isEnabled] = { label: serviceDisplayName, isBoolean: true };
|
||||
|
||||
if(providerObjs != null && providerObjs.length > 1) { //present provider dropdown when there are multiple providers for a service
|
||||
|
|
|
|||
Loading…
Reference in New Issue