diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 0ba43d2ca50..c8b1164e594 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -10,7 +10,13 @@ // limitations under the License. // // Automatically generated by addcopyright.py at 04/02/2012 -(function($, cloudStack) { +(function($, cloudStack) { + + var zoneObjs, podObjs, clusterObjs, domainObjs, networkOfferingObjs, physicalNetworkObjs; + var selectedClusterObj, selectedZoneObj, selectedPublicNetworkObj, selectedManagementNetworkObj, selectedPhysicalNetworkObj, selectedGuestNetworkObj; + var nspMap = {}; //from listNetworkServiceProviders API + var nspHardcodingArray = []; //for service providers listView (hardcoding, not from listNetworkServiceProviders API) + cloudStack.publicIpRangeAccount = { dialog: function(args) { return function(args) { @@ -70,13 +76,7 @@ }; } }; - - - var zoneObjs, podObjs, clusterObjs, domainObjs, networkOfferingObjs, physicalNetworkObjs; - var selectedClusterObj, selectedZoneObj, selectedPublicNetworkObj, selectedManagementNetworkObj, selectedPhysicalNetworkObj, selectedGuestNetworkObj; - var nspMap = {}; //from listNetworkServiceProviders API - var nspHardcodingArray = []; //for service providers listView (hardcoding, not from listNetworkServiceProviders API) - + var getTrafficType = function(physicalNetwork, typeID) { var trafficType = {}; @@ -299,74 +299,7 @@ } }, dataProvider: function(args) { - $.ajax({ - url: createURL("listNetworkServiceProviders&physicalnetworkid=" + selectedPhysicalNetworkObj.id), - dataType: "json", - async: false, - success: function(json) { - var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; - nspMap = {}; //empty the map - for(var i = 0; i < items.length; i++) { - switch(items[i].name) { - case "VirtualRouter": - nspMap["virtualRouter"] = items[i]; - break; - case "Netscaler": - nspMap["netscaler"] = items[i]; - break; - case "F5BigIp": - nspMap["f5"] = items[i]; - break; - case "JuniperSRX": - nspMap["srx"] = items[i]; - break; - case "SecurityGroupProvider": - nspMap["securityGroups"] = items[i]; - break; - } - } - } - }); - - nspHardcodingArray = [ - { - id: 'netscaler', - name: 'NetScaler', - state: nspMap.netscaler? nspMap.netscaler.state : 'Disabled' - }, - { - id: 'virtualRouter', - name: 'Virtual Router', - state: nspMap.virtualRouter ? nspMap.virtualRouter.state : 'Disabled' - } - ]; - - if(selectedZoneObj.networktype == "Basic") { - nspHardcodingArray.push( - { - id: 'securityGroups', - name: 'Security Groups', - state: nspMap.securityGroups ? nspMap.securityGroups.state : 'Disabled' - } - ); - } - else if(selectedZoneObj.networktype == "Advanced"){ - nspHardcodingArray.push( - { - id: 'f5', - name: 'F5', - state: nspMap.f5 ? nspMap.f5.state : 'Disabled' - } - ); - nspHardcodingArray.push( - { - id: 'srx', - name: 'SRX', - state: nspMap.srx ? nspMap.srx.state : 'Disabled' - } - ); - } - + refreshNspData(); args.response.success({ data: nspHardcodingArray }) @@ -2397,6 +2330,7 @@ } ], dataProvider: function(args) { + refreshNspData("Netscaler"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "netscaler") { @@ -2631,6 +2565,7 @@ } ], dataProvider: function(args) { + refreshNspData("F5BigIp"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "f5") { @@ -2863,6 +2798,7 @@ } ], dataProvider: function(args) { + refreshNspData("JuniperSRX"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "srx") { @@ -3110,6 +3046,7 @@ } ], dataProvider: function(args) { + refreshNspData("SecurityGroupProvider"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "securityGroups") { @@ -7849,4 +7786,80 @@ jsonObj["redundantRouterState"] = ""; } + var refreshNspData = function(nspName) { + var array1 = []; + if(nspName != null) + array1.push("&name=" + nspName); + + $.ajax({ + url: createURL("listNetworkServiceProviders&physicalnetworkid=" + selectedPhysicalNetworkObj.id + array1.join("")), + dataType: "json", + async: false, + success: function(json) { + var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; + if(items != null) { + for(var i = 0; i < items.length; i++) { + switch(items[i].name) { + case "VirtualRouter": + nspMap["virtualRouter"] = items[i]; + break; + case "Netscaler": + nspMap["netscaler"] = items[i]; + break; + case "F5BigIp": + nspMap["f5"] = items[i]; + break; + case "JuniperSRX": + nspMap["srx"] = items[i]; + break; + case "SecurityGroupProvider": + nspMap["securityGroups"] = items[i]; + break; + } + } + } + } + }); + + nspHardcodingArray = [ + { + id: 'netscaler', + name: 'NetScaler', + state: nspMap.netscaler? nspMap.netscaler.state : 'Disabled' + }, + { + id: 'virtualRouter', + name: 'Virtual Router', + state: nspMap.virtualRouter ? nspMap.virtualRouter.state : 'Disabled' + } + ]; + + if(selectedZoneObj.networktype == "Basic") { + nspHardcodingArray.push( + { + id: 'securityGroups', + name: 'Security Groups', + state: nspMap.securityGroups ? nspMap.securityGroups.state : 'Disabled' + } + ); + } + else if(selectedZoneObj.networktype == "Advanced"){ + nspHardcodingArray.push( + { + id: 'f5', + name: 'F5', + state: nspMap.f5 ? nspMap.f5.state : 'Disabled' + } + ); + nspHardcodingArray.push( + { + id: 'srx', + name: 'SRX', + state: nspMap.srx ? nspMap.srx.state : 'Disabled' + } + ); + } + } + + })($, cloudStack);