You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/12/12 00:30:26 UTC
git commit: updated refs/heads/4.3 to 796f2aa
Updated Branches:
refs/heads/4.3 feb9fe18b -> 796f2aa48
CLOUDSTACK-4793: UI > Virtual Routers > Select View > add "group by account".
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/796f2aa4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/796f2aa4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/796f2aa4
Branch: refs/heads/4.3
Commit: 796f2aa48d99bb17809243b9959af93c6718a343
Parents: feb9fe1
Author: Jessica Wang <je...@apache.org>
Authored: Wed Dec 11 15:30:06 2013 -0800
Committer: Jessica Wang <je...@apache.org>
Committed: Wed Dec 11 15:30:16 2013 -0800
----------------------------------------------------------------------
ui/scripts/system.js | 323 +++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 292 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/796f2aa4/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index b3fc298..d6a76d3 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -7593,10 +7593,10 @@
fields: {
name: {
label: 'label.name'
- },
- zonename: {
- label: 'label.zone'
- },
+ },
+ publicip: {
+ label: 'label.public.ip'
+ },
routerType: {
label: 'label.type'
},
@@ -7611,6 +7611,10 @@
'Stopped': 'off',
'Error': 'off'
}
+ },
+ requiresupgrade: {
+ label: 'Requires Upgrade',
+ converter: cloudStack.converters.toBooleanText
}
},
dataProvider: function(args) {
@@ -8215,7 +8219,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function(args) {
if (args > 0) {
return 'Yes';
@@ -8355,7 +8359,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function(args) {
if (args > 0) {
return 'Yes';
@@ -8365,20 +8369,22 @@
}
}
}],
- dataProvider: function(args) {
+ dataProvider: function(args) {
+ var currentPage = 1;
$.ajax({
url: createURL('listRouters'),
data: {
- zoneid: args.context.routerGroupByZone[0].id
+ zoneid: args.context.routerGroupByZone[0].id,
+ listAll: true,
+ page: currentPage,
+ pagesize: pageSize //global variable
},
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;
+ args.context.routerGroupByZone[0].routerCount = json.listroutersresponse.count;
+ var routerCountFromAllPages = json.listroutersresponse.count;
+ var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var routerRequiresUpgrade = 0;
var callListApiWithPage = function() {
$.ajax({
@@ -8386,6 +8392,7 @@
async: false,
data: {
zoneid: args.context.routerGroupByZone[0].id,
+ listAll: true,
page: currentPage,
pagesize: pageSize //global variable
},
@@ -8404,7 +8411,10 @@
}
});
}
- callListApiWithPage();
+ if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+ currentPage++;
+ callListApiWithPage();
+ }
args.context.routerGroupByZone[0].routerRequiresUpgrade = routerRequiresUpgrade;
} else {
@@ -8440,7 +8450,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function (args) {
if (args > 0) {
return 'Yes';
@@ -8580,7 +8590,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function (args) {
if (args > 0) {
return 'Yes';
@@ -8594,19 +8604,21 @@
}
}],
dataProvider: function (args) {
+ var currentPage = 1;
$.ajax({
url: createURL('listRouters'),
data: {
- podid: args.context.routerGroupByPod[0].id
+ podid: args.context.routerGroupByPod[0].id,
+ listAll: true,
+ page: currentPage,
+ pagesize: pageSize //global variable
},
async: false,
success: function (json) {
if (json.listroutersresponse.count != undefined) {
args.context.routerGroupByPod[0].routerCount = json.listroutersresponse.count;
-
- var routerCountFromAllPages = args.context.routerGroupByPod[0].routerCount;
- var currentPage = 1;
- var routerCountFromFirstPageToCurrentPage = 0;
+ var routerCountFromAllPages = json.listroutersresponse.count;
+ var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var routerRequiresUpgrade = 0;
var callListApiWithPage = function () {
$.ajax({
@@ -8614,6 +8626,7 @@
async: false,
data: {
podid: args.context.routerGroupByPod[0].id,
+ listAll: true,
page: currentPage,
pagesize: pageSize //global variable
},
@@ -8632,7 +8645,10 @@
}
});
}
- callListApiWithPage();
+ if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+ currentPage++;
+ callListApiWithPage();
+ }
args.context.routerGroupByPod[0].routerRequiresUpgrade = routerRequiresUpgrade;
} else {
@@ -8667,7 +8683,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function (args) {
if (args > 0) {
return 'Yes';
@@ -8807,7 +8823,7 @@
label: 'Total of Virtual Routers'
},
routerRequiresUpgrade: {
- label: 'Virtual Routers require upgrade',
+ label: 'Upgrade is required',
converter: function (args) {
if (args > 0) {
return 'Yes';
@@ -8824,19 +8840,21 @@
}
}],
dataProvider: function (args) {
+ var currentPage = 1;
$.ajax({
url: createURL('listRouters'),
data: {
- clusterid: args.context.routerGroupByCluster[0].id
+ clusterid: args.context.routerGroupByCluster[0].id,
+ listAll: true,
+ page: currentPage,
+ pagesize: pageSize //global variable
},
async: false,
success: function (json) {
if (json.listroutersresponse.count != undefined) {
args.context.routerGroupByCluster[0].routerCount = json.listroutersresponse.count;
-
- var routerCountFromAllPages = args.context.routerGroupByCluster[0].routerCount;
- var currentPage = 1;
- var routerCountFromFirstPageToCurrentPage = 0;
+ var routerCountFromAllPages = json.listroutersresponse.count;
+ var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
var routerRequiresUpgrade = 0;
var callListApiWithPage = function () {
$.ajax({
@@ -8844,6 +8862,7 @@
async: false,
data: {
clusterid: args.context.routerGroupByCluster[0].id,
+ listAll: true,
page: currentPage,
pagesize: pageSize //global variable
},
@@ -8862,7 +8881,10 @@
}
});
}
- callListApiWithPage();
+ if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+ currentPage++;
+ callListApiWithPage();
+ }
args.context.routerGroupByCluster[0].routerRequiresUpgrade = routerRequiresUpgrade;
} else {
@@ -8881,7 +8903,246 @@
}
}
}
- }
+ },
+ routerGroupByAccount: {
+ id: 'routerGroupByAccount',
+ type: 'select',
+ title: 'group by account',
+ listView: {
+ id: 'routerGroupByAccount',
+ label: 'label.virtual.appliances',
+ fields: {
+ name: {
+ label: 'label.account'
+ },
+ domain: {
+ label: 'label.domain'
+ },
+ routerCount: {
+ label: 'Total of Virtual Routers'
+ },
+ routerRequiresUpgrade: {
+ label: 'Upgrade is required',
+ converter: function (args) {
+ if (args > 0) {
+ return 'Yes';
+ } else {
+ return 'No';
+ }
+ }
+ }
+ },
+
+ dataProvider: function (args) {
+ var array1 = [];
+ if (args.filterBy != null) {
+ if (args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {
+ switch (args.filterBy.search.by) {
+ case "name":
+ if (args.filterBy.search.value.length > 0)
+ array1.push("&keyword=" + args.filterBy.search.value);
+ break;
+ }
+ }
+ }
+ $.ajax({
+ url: createURL("listAccounts&page=" + args.page + "&pagesize=" + pageSize + array1.join("")),
+ success: function (json) {
+ var accountObjs = json.listaccountsresponse.account;
+ if (accountObjs != null) {
+ for (var i = 0; i < accountObjs.length; i++) {
+ var currentPage = 1;
+ $.ajax({
+ url: createURL('listRouters'),
+ data: {
+ account: accountObjs[i].name,
+ domainid: accountObjs[i].domainid,
+ listAll: true,
+ page: currentPage,
+ pagesize: pageSize //global variable
+ },
+ async: false,
+ success: function (json) {
+ if (json.listroutersresponse.count != undefined) {
+ accountObjs[i].routerCount = json.listroutersresponse.count;
+ var routerCountFromAllPages = json.listroutersresponse.count;
+ var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
+ var routerRequiresUpgrade = 0;
+ var callListApiWithPage = function () {
+ $.ajax({
+ url: createURL('listRouters'),
+ async: false,
+ data: {
+ account: accountObjs[i].name,
+ domainid: accountObjs[i].domainid,
+ listAll: true,
+ 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();
+ }
+ }
+ });
+ }
+ if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+ currentPage++;
+ callListApiWithPage();
+ }
+ accountObjs[i].routerRequiresUpgrade = routerRequiresUpgrade;
+
+ } else {
+ accountObjs[i].routerCount = 0;
+ accountObjs[i].routerRequiresUpgrade = 0;
+ }
+ }
+ });
+ }
+ }
+ args.response.success({
+ data: accountObjs
+ });
+ }
+ });
+ },
+ detailView: {
+ name: 'Virtual Routers group by account',
+ actions: {
+ upgradeRouterToUseNewerTemplate: {
+ label: 'Upgrade Router to Use Newer Template',
+ messages: {
+ confirm: function (args) {
+ return 'Please confirm that you want to upgrade all routers in this account to use newer template';
+ },
+ notification: function (args) {
+ return 'Upgrade Router to Use Newer Template';
+ }
+ },
+ action: function (args) {
+ $.ajax({
+ url: createURL('upgradeRouterTemplate'),
+ data: {
+ account: args.context.routerGroupByAccount[0].name,
+ domainid: args.context.routerGroupByAccount[0].domainid
+ },
+ success: function (json) {
+ var jobs = json.upgraderoutertemplateresponse.asyncjobs;
+ if (jobs != undefined) {
+ args.response.success({
+ _custom: {
+ jobId: jobs[0].jobid
+ }
+ });
+ }
+ }
+ });
+ },
+ notification: {
+ poll: pollAsyncJobResult
+ }
+ }
+ },
+ tabs: {
+ details: {
+ title: 'Virtual Routers group by account',
+ fields: [{
+ name: {
+ label: 'label.account'
+ },
+ domain: {
+ label: 'label.domain'
+ }
+ }, {
+ routerCount: {
+ label: 'Total of Virtual Routers'
+ },
+ routerRequiresUpgrade: {
+ label: 'Upgrade is required',
+ converter: function (args) {
+ if (args > 0) {
+ return 'Yes';
+ } else {
+ return 'No';
+ }
+ }
+ }
+ }],
+ dataProvider: function (args) {
+ var currentPage = 1;
+ $.ajax({
+ url: createURL('listRouters'),
+ data: {
+ account: args.context.routerGroupByAccount[0].name,
+ domainid: args.context.routerGroupByAccount[0].domainid,
+ listAll: true,
+ page: currentPage,
+ pagesize: pageSize //global variable
+ },
+ async: false,
+ success: function (json) {
+ if (json.listroutersresponse.count != undefined) {
+ args.context.routerGroupByAccount[0].routerCount = json.listroutersresponse.count;
+ var routerCountFromAllPages = json.listroutersresponse.count;
+ var routerCountFromFirstPageToCurrentPage = json.listroutersresponse.router.length;
+ var routerRequiresUpgrade = 0;
+ var callListApiWithPage = function () {
+ $.ajax({
+ url: createURL('listRouters'),
+ async: false,
+ data: {
+ account: args.context.routerGroupByAccount[0].name,
+ domainid: args.context.routerGroupByAccount[0].domainid,
+ listAll: true,
+ 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();
+ }
+ }
+ });
+ }
+ if (routerCountFromFirstPageToCurrentPage < routerCountFromAllPages) {
+ currentPage++;
+ callListApiWithPage();
+ }
+ args.context.routerGroupByAccount[0].routerRequiresUpgrade = routerRequiresUpgrade;
+
+ } else {
+ args.context.routerGroupByAccount[0].routerCount = 0;
+ args.context.routerGroupByAccount[0].routerRequiresUpgrade = 0;
+ }
+ }
+ });
+ setTimeout(function() {
+ args.response.success({
+ data: args.context.routerGroupByAccount[0]
+ });
+ });
+ }
+ }
+ }
+ }
+ }
+ }
}
},
systemVms: {