mirror of https://github.com/apache/cloudstack.git
cloudstack 3.0 UI - VPC - add network offering dialog - when service(s) has VPC Virtual Router as provider: (1) conserve mode is set to unchecked and grayed out. (2) redundant router capability checkbox is set to unchecked and grayed out. (3) remove Firewall service, SecurityGroup service.
This commit is contained in:
parent
ee9074a175
commit
20db2e515b
|
|
@ -14,6 +14,7 @@
|
|||
// KIND, either express or implied. See the License for the
|
||||
// specific language governing permissions and limitations
|
||||
// under the License.
|
||||
|
||||
(function(cloudStack, $) {
|
||||
|
||||
var requiredNetworkOfferingExists = false;
|
||||
|
|
@ -1032,7 +1033,9 @@
|
|||
title: 'label.add.network.offering',
|
||||
preFilter: function(args) {
|
||||
var $availability = args.$form.find('.form-item[rel=availability]');
|
||||
var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');
|
||||
var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');
|
||||
var $conservemode = args.$form.find('.form-item[rel=conservemode]');
|
||||
var $serviceSourceNatRedundantRouterCapabilityCheckbox = args.$form.find('.form-item[rel="service.SourceNat.redundantRouterCapabilityCheckbox"]');
|
||||
var hasAdvancedZones = false;
|
||||
|
||||
// Check whether there are any advanced zones
|
||||
|
|
@ -1064,7 +1067,8 @@
|
|||
$availability.hide();
|
||||
}
|
||||
|
||||
//check whether to show or hide serviceOfferingId field
|
||||
|
||||
//when service(s) has Virtual Router as provider.....
|
||||
var havingVirtualRouterForAtLeastOneService = false;
|
||||
$(serviceCheckboxNames).each(function(){
|
||||
var checkboxName = this;
|
||||
|
|
@ -1076,17 +1080,48 @@
|
|||
return false; //break each loop
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if(havingVirtualRouterForAtLeastOneService == true)
|
||||
});
|
||||
if(havingVirtualRouterForAtLeastOneService == true) {
|
||||
$serviceOfferingId.css('display', 'inline-block');
|
||||
else
|
||||
}
|
||||
else {
|
||||
$serviceOfferingId.hide();
|
||||
|
||||
$(':ui-dialog').dialog('option', 'position', 'center');
|
||||
}
|
||||
|
||||
|
||||
//hide/show service fields upon guestIpType(Shared/Isolated) and zoneType(Advanced/Basic) ***** (begin) *****
|
||||
/*
|
||||
when service(s) has VPC Virtual Router as provider:
|
||||
(1) conserve mode is set to unchecked and grayed out.
|
||||
(2) redundant router capability checkbox is set to unchecked and grayed out.
|
||||
(3) remove Firewall service, SecurityGroup service.
|
||||
*/
|
||||
var havingVpcVirtualRouterForAtLeastOneService = 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 == "VpcVirtualRouter") {
|
||||
havingVpcVirtualRouterForAtLeastOneService = true;
|
||||
return false; //break each loop
|
||||
}
|
||||
}
|
||||
});
|
||||
if(havingVpcVirtualRouterForAtLeastOneService == true) {
|
||||
$conservemode.find("input[type=checkbox]").attr("disabled", "disabled");
|
||||
$conservemode.find("input[type=checkbox]").attr('checked', false);
|
||||
|
||||
$serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").attr("disabled", "disabled");
|
||||
$serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").attr('checked', false);
|
||||
}
|
||||
else {
|
||||
$conservemode.find("input[type=checkbox]").removeAttr("disabled");
|
||||
$serviceSourceNatRedundantRouterCapabilityCheckbox.find("input[type=checkbox]").removeAttr("disabled");
|
||||
}
|
||||
|
||||
$(':ui-dialog').dialog('option', 'position', 'center');
|
||||
|
||||
//hide/show service fields upon guestIpType(Shared/Isolated), zoneType(Advanced/Basic), having VpcVirtualRouter or not ***** (begin) *****
|
||||
var serviceFieldsToHide = [];
|
||||
if($guestTypeField.val() == 'Shared') { //Shared network offering
|
||||
serviceFieldsToHide = [
|
||||
|
|
@ -1094,12 +1129,34 @@
|
|||
'service.PortForwarding.isEnabled',
|
||||
'service.Firewall.isEnabled',
|
||||
'service.Vpn.isEnabled'
|
||||
];
|
||||
];
|
||||
if(havingVpcVirtualRouterForAtLeastOneService == true) { //add SecurityGroup to to-hide-list
|
||||
serviceFieldsToHide.push('service.SecurityGroup.isEnabled');
|
||||
}
|
||||
else { //remove SecurityGroup from to-hide-list
|
||||
var temp = $.map(serviceFieldsToHide, function(item) {
|
||||
if (item != 'service.SecurityGroup.isEnabled') {
|
||||
return item;
|
||||
}
|
||||
});
|
||||
serviceFieldsToHide = temp;
|
||||
}
|
||||
}
|
||||
else { //Isolated network offering
|
||||
serviceFieldsToHide = [
|
||||
'service.SecurityGroup.isEnabled'
|
||||
];
|
||||
];
|
||||
if(havingVpcVirtualRouterForAtLeastOneService == true) { //add firewall to to-hide-list
|
||||
serviceFieldsToHide.push('service.Firewall.isEnabled');
|
||||
}
|
||||
else { //remove firewall from to-hide-list
|
||||
var temp = $.map(serviceFieldsToHide, function(item) {
|
||||
if (item != 'service.Firewall.isEnabled') {
|
||||
return item;
|
||||
}
|
||||
});
|
||||
serviceFieldsToHide = temp;
|
||||
}
|
||||
}
|
||||
|
||||
//hide service fields that are included in serviceFieldsToHide
|
||||
|
|
@ -1129,14 +1186,14 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
//hide/show service fields upon guestIpType(Shared/Isolated) and zoneType(Advanced/Basic) ***** (end) *****
|
||||
//hide/show service fields upon guestIpType(Shared/Isolated), zoneType(Advanced/Basic), having VpcVirtualRouter or not ***** (end) *****
|
||||
|
||||
|
||||
//show LB Isolation dropdown only when (1)LB Service is checked (2)Service Provider is Netscaler OR F5 (3)Guest IP Type is Isolated
|
||||
if((args.$form.find('.form-item[rel=\"service.Lb.isEnabled\"]').find('input[type=checkbox]').is(':checked') == true)
|
||||
&&(args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'Netscaler'
|
||||
|| args.$form.find('.form-item[rel=\"service.Lb.provider\"]').find('select').val() == 'F5BigIp')
|
||||
) {
|
||||
&&(args.$form.find('.form-item[rel=\"guestIpType\"]').find('select').val() == 'Isolated')) {
|
||||
args.$form.find('.form-item[rel=\"service.Lb.lbIsolationDropdown\"]').css('display', 'inline-block');
|
||||
}
|
||||
else {
|
||||
|
|
@ -1174,7 +1231,7 @@
|
|||
|
||||
displayText: { label: 'label.description', validation: { required: true } },
|
||||
|
||||
networkRate: { label: 'label.network.rate' },
|
||||
networkRate: { label: 'label.network.rate.megabytes' },
|
||||
|
||||
/*
|
||||
trafficType: {
|
||||
|
|
@ -1852,3 +1909,4 @@
|
|||
};
|
||||
|
||||
})(cloudStack, jQuery);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue