cloudstack 3.0 new UI - IP page - configuration - show/hide tabs upon whether their corresponding service are included in the network or not.

This commit is contained in:
Jessica Wang 2012-01-23 18:06:50 -08:00
parent 6a7fd4d96c
commit 9d0c3fd0fb
2 changed files with 52 additions and 3 deletions

View File

@ -1075,7 +1075,32 @@
}
});
args.context.networks[0].networkHavingLbService = networkHavingLbService;
var disallowedActions = [];
if (args.context.ipAddresses[0].isstaticnat)
disallowedActions.push("nonStaticNATChart"); //tell ipRules widget to show staticNAT chart instead of non-staticNAT chart.
var networkHavingFirewallService = false;
var networkHavingPortForwardingService = false;
var networkHavingLbService = false;
$(args.context.networks[0].service).each(function(){
if(this.name == "Firewall")
networkHavingFirewallService = true;
if(this.name == "PortForwarding")
networkHavingPortForwardingService = true;
if(this.name == "Lb")
networkHavingLbService = true;
});
if(networkHavingFirewallService == false)
disallowedActions.push("firewall");
if(networkHavingPortForwardingService == false)
disallowedActions.push("portForwarding");
if(networkHavingLbService == false)
disallowedActions.push("loadBalancing");
/*
var disallowedActions = [];
if (args.context.ipAddresses[0].isstaticnat) { //All items filtered means static NAT
disallowedActions.push("firewall");
@ -1097,6 +1122,10 @@
if (g_firewallRuleUiEnabled != 'true') {
disallowedActions.push("firewall");
}
*/
return disallowedActions;
},

View File

@ -112,8 +112,27 @@
context: context
}) : [];
// Filter disabled tabs
if (preFilter.length) {
// 1. choose between staticNAT chart and non-staticNAT chart 2. filter disabled tabs
if (preFilter.length) {
if($.inArray('nonStaticNATChart', preFilter) != -1) { //choose static NAT chart
if($.inArray('firewall', preFilter) == -1) {
return staticNATChart(args, true); //static NAT including Firewall
}
else {
return staticNATChart(args, false); //static NAT excluding Firewall
}
}
else { //choose non-static NAT chart
$(preFilter).each(function() {
var id = this;
var $li = $chart.find('li').filter(function() {
return $(this).hasClass(id);
}).addClass('disabled');
});
}
/*
if (preFilter.length == 3) { // 'firewall', 'portForwarding', 'loadBalancing'
return staticNATChart(args, true); //static NAT including Firewall
}
@ -129,6 +148,7 @@
}).addClass('disabled');
});
}
*/
}
$chart.find('.view-details').click(function() {