From a5cff1dfd585f2b1ff2db0cb6818ca73c20bb2f9 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 25 Nov 2013 12:06:57 -0800 Subject: [PATCH] CLOUDSTACK-4793: UI > Virtual Routers > Select View > group by zone > implement detailView of Zone, Total of Virtual Routers, Virtual Routers require upgrade. --- ui/scripts/system.js | 81 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index d6ced5bd90f..d748b72a69c 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -8735,7 +8735,86 @@ }); } }); - } + }, + detailView: { + name: 'Virtual Routers group by zone', + tabs: { + details: { + title: 'Virtual Routers group by zone', + fields: [{ + name: { + label: 'label.zone' + } + }, { + routerCount: { + label: 'Total of Virtual Routers' + }, + routerRequiresUpgrade: { + label: 'Virtual Routers require upgrade', + converter: function(args) { + if (args > 0) { + return 'Yes'; + } else { + return 'No'; + } + } + } + }], + dataProvider: function(args) { + $.ajax({ + url: createURL('listRouters'), + data: { + zoneid: args.context.routerGroupByZone[0].id + }, + async: false, + success: function(json) { + if (json.listroutersresponse.count != undefined) { + args.context.routerGroupByZone[0].routerCount = json.listroutersresponse.count; + + var routerCountFromAllPages = args.context.routerGroupByZone[0].routerCount; + var currentPage = 1; + var routerCountFromFirstPageToCurrentPage = 0; + var routerRequiresUpgrade = 0; + var callListApiWithPage = function() { + $.ajax({ + url: createURL('listRouters'), + async: false, + data: { + zoneid: args.context.routerGroupByZone[0].id, + page: currentPage, + pagesize: pageSize //global variable + }, + success: function(json) { + routerCountFromFirstPageToCurrentPage += json.listroutersresponse.router.length; + var items = json.listroutersresponse.router; + for (var i = 0; i < items.length; i++) { + if (items[i].requiresupgrade) { + routerRequiresUpgrade++; + } + } + if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) { + currentPage++; + callListApiWithPage(); + } + } + }); + } + callListApiWithPage(); + args.context.routerGroupByZone[0].routerRequiresUpgrade = routerRequiresUpgrade; + + } else { + args.context.routerGroupByZone[0].routerCount = 0; + args.context.routerGroupByZone[0].routerRequiresUpgrade = 0; + } + } + }); + args.response.success({ + data: args.context.routerGroupByZone[0] + }) + } + } + } + } } } }