From 3c58197de23b9e635910774ce74b87cba7a60ef6 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Wed, 18 Jul 2012 10:40:17 -0700 Subject: [PATCH] cloudstack 3.0 UI - VPC - add LB rule - fix a JS error "args.context.networks is undefined" when configure stickiness. --- ui/scripts/lbStickyPolicy.js | 37 ++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/ui/scripts/lbStickyPolicy.js b/ui/scripts/lbStickyPolicy.js index 542a23d5be3..833b6f7acc5 100644 --- a/ui/scripts/lbStickyPolicy.js +++ b/ui/scripts/lbStickyPolicy.js @@ -16,13 +16,46 @@ return function(args) { var success = args.response.success; var context = args.context; - var network = args.context.networks[0]; + + var network; + if('vpc' in args.context) { //from VPC section + var data = { + listAll: true, + supportedservices: 'Lb' + }; + if(args.context.ipAddresses[0].associatednetworkid == null) { + $.extend(data, { + vpcid: args.context.vpc[0].id + }); + } + else { + $.extend(data, { + id: args.context.ipAddresses[0].associatednetworkid + }); + } + + $.ajax({ + url: createURL("listNetworks"), //check whether the VPC has a network including Lb service + data: data, + async: false, + success: function(json) { + var items = json.listnetworksresponse.network; + if(items != null && items.length > 0) { + network = items[0]; + } + } + }); + } + else { //from Guest Network section + network = args.context.networks[0]; + } + var $item = args.$item; var lbService = $.grep(network.service, function(service) { return service.name == 'Lb'; })[0]; - + var stickinessCapabilities = JSON.parse($.grep( lbService.capability, function(capability) {