From d009b3f3dbfe2f94241982a5bba5cc0d9527e462 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 23 Jan 2012 11:03:57 -0800 Subject: [PATCH] cloudstack 3.0 new UI - network page - add SecurityGroup as SupportedService when getting shared networks. --- ui/scripts/network.js | 48 +++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/ui/scripts/network.js b/ui/scripts/network.js index bd45f18ecd5..30c3b1ae16b 100644 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -67,8 +67,8 @@ }; var securityGroupNetworkObjs = []; - var isolatedSourceNatNetworkObjs = []; - var sharedLbStaticNatNetworkObjs = []; + var isolatedSourcenatNetworkObjs = []; + var sharedLbStaticnatSgNetworkObjs = []; cloudStack.sections.network = { title: 'Network', @@ -99,7 +99,7 @@ async: false, success: function(data) { if (data.listnetworksresponse.network != null && data.listnetworksresponse.network.length > 0) { - isolatedSourceNatNetworkObjs = data.listnetworksresponse.network; + isolatedSourcenatNetworkObjs = data.listnetworksresponse.network; } } }); @@ -108,13 +108,13 @@ url: createURL('listNetworks'), data: { type: 'shared', - supportedServices: 'Lb,StaticNat', + supportedServices: 'Lb,StaticNat,SecurityGroup', listAll: true }, async: false, success: function(data) { if (data.listnetworksresponse.network != null && data.listnetworksresponse.network.length > 0) { - sharedLbStaticNatNetworkObjs = data.listnetworksresponse.network; + sharedLbStaticnatSgNetworkObjs = data.listnetworksresponse.network; } } }); @@ -123,10 +123,10 @@ if(securityGroupNetworkObjs.length > 0) //if there is securityGroup networks sectionsToShow.push('securityGroups'); //show securityGroup section - if(isolatedSourceNatNetworkObjs.length > 0 || sharedLbStaticNatNetworkObjs.length > 0) //if there is isolatedSourceNat networks or sharedLbStaticNat networks + if(isolatedSourcenatNetworkObjs.length > 0 || sharedLbStaticnatSgNetworkObjs.length > 0) //if there is isolatedSourceNat networks or sharedLbStaticnatSg networks sectionsToShow.push('networks'); //show network section - if(sectionsToShow.length == 0) //if no securityGroup networks, nor isolatedSourceNat networks, nor sharedLbStaticNat networks + if(sectionsToShow.length == 0) //if no securityGroup networks, nor isolatedSourceNat networks, nor sharedLbStaticnatSg networks sectionsToShow.push('networks'); // still show network section (no networks in the grid though) return sectionsToShow; }, @@ -246,9 +246,9 @@ } } - //can't do pagination with 2 API calls ("listNetworjs&type=isolated&~", "listNetworks&type=shared&~") - /* - $.ajax({ + //temporary until Alena fixes listNetworks API to return both isolated and shared networks in one call + var networkObjs1 = []; + $.ajax({ url: createURL("listNetworks&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), data: { type: 'isolated', @@ -256,19 +256,31 @@ listAll: true }, dataType: 'json', - async: true, + async: false, success: function(data) { - args.response.success({ - data: data.listnetworksresponse.network - }); + if(data.listnetworksresponse.network != null && data.listnetworksresponse.network.length > 0) + networkObjs1 = data.listnetworksresponse.network; }, error: function(data) { args.response.error(parseXMLHttpResponse(data)); } - }); - */ - - var networkObjs = $.extend(isolatedSourceNatNetworkObjs, sharedLbStaticNatNetworkObjs); + }); + var networkObjs2 = []; + $.ajax({ + url: createURL("listNetworks&page=" + args.page + "&pagesize=" + pageSize + array1.join("")), + data: { + type: 'shared', + supportedServices: 'Lb,StaticNat,SecurityGroup', + listAll: true + }, + async: false, + success: function(data) { + if(data.listnetworksresponse.network != null && data.listnetworksresponse.network.length > 0) + networkObjs2 = data.listnetworksresponse.network; + } + }); + + var networkObjs = $.extend(networkObjs1, networkObjs2); args.response.success({ data: networkObjs });