From e4a41071de958688f17be9d1b81c89d04a8519de Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 9 Apr 2012 16:55:53 -0700 Subject: [PATCH] cloudstack 3.0 UI - physical network page - Network Service Providers - Virtual Router - implement Refresh button. --- ui/scripts/system.js | 52 ++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index cf0911f9fcc..e1ec2903c32 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -140,9 +140,9 @@ }) }; - function virtualRouterProviderActionFilter(args) { - var allowedActions = []; - var jsonObj = nspMap["virtualRouter"]; + function virtualRouterProviderActionFilter(args) { + var allowedActions = []; + var jsonObj = args.context.item; //args.context.item == nspMap["virtualRouter"] if(jsonObj.state == "Enabled") allowedActions.push("disable"); else if(jsonObj.state == "Disabled") @@ -1917,22 +1917,36 @@ PortForwarding: { label: 'Port Forwarding' } } ], - dataProvider: function(args) { - args.response.success({ - actionFilter: virtualRouterProviderActionFilter, - data: $.extend(true, {}, nspMap["virtualRouter"], { - Vpn: 'On', - Dhcp: 'On', - Dns: 'On', - Gateway: 'On', - Firewall: 'On', - Lb: 'On', - UserData: 'On', - SourceNat: 'On', - StaticNat: 'On', - PortForwarding: 'On' - }) - }); + dataProvider: function(args) { + $.ajax({ + url: createURL("listNetworkServiceProviders&id=" + nspMap["virtualRouter"].id), + dataType: "json", + async: true, + success: function(json) { + var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; + for(var i = 0; i < items.length; i++) { + if(items[i].name == "VirtualRouter" ) { + nspMap["virtualRouter"] = items[i]; + args.response.success({ + actionFilter: virtualRouterProviderActionFilter, + data: $.extend(true, {}, nspMap["virtualRouter"], { + Vpn: 'On', + Dhcp: 'On', + Dns: 'On', + Gateway: 'On', + Firewall: 'On', + Lb: 'On', + UserData: 'On', + SourceNat: 'On', + StaticNat: 'On', + PortForwarding: 'On' + }) + }); + break; + } + } + } + }); } },