From 8fdd0a469af768b462af1cc6ed7b795a59272e4d Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Tue, 16 Oct 2012 15:17:51 -0700 Subject: [PATCH] CS-16459: cloudstack UI - network page - When creating Lb rules for a network that is not using netscaler for LB service, AutoScale button is hidden. --- ui/scripts/network.js | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/ui/scripts/network.js b/ui/scripts/network.js index bf580e0ab97..15ee363c9eb 100755 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -2431,14 +2431,40 @@ } }, multipleAdd: true, - fieldPreFilter: function(args) { - var context = args.context; - var fields = args.fields; - var hiddenFields = []; + fieldPreFilter: function(args) { + var hiddenFields = []; if('vpc' in args.context) { //from VPC section - hiddenFields.push('autoScale'); - } + hiddenFields.push('autoScale'); //autoScale is not supported in VPC + } + else { //from Guest Network section + $.ajax({ + url: createURL('listNetworkOfferings'), + data: { + id: args.context.networks[0].networkofferingid + }, + async: false, + success: function(json) { + var serviceArray = json.listnetworkofferingsresponse.networkoffering[0].service; + var lbProviderArrayIncludesNetscaler = false; + for(var i = 0; i < serviceArray.length; i++) { + if(serviceArray[i].name == "Lb") { + var providerArray = serviceArray[i].provider; + for(var k = 0; k < providerArray.length; k++) { + if(providerArray[k].name == "Netscaler") { + lbProviderArrayIncludesNetscaler = true; + break; + } + } + break; + } + } + if(lbProviderArrayIncludesNetscaler == false) { + hiddenFields.push('autoScale'); //autoScale is not supported in a network that is not using Netscaler provider for LB service (CS-16459) + } + } + }); + } return hiddenFields; // Returns fields to be hidden }, fields: {