add pagination to flags page

This commit is contained in:
barisusakli
2016-09-16 00:17:43 +03:00
parent dd78f46980
commit 72c75bd781
7 changed files with 62 additions and 105 deletions

View File

@@ -13,7 +13,7 @@ eventsController.get = function(req, res, next) {
var page = parseInt(req.query.page, 10) || 1;
var itemsPerPage = 20;
var start = (page - 1) * 20;
var start = (page - 1) * itemsPerPage;
var stop = start + itemsPerPage - 1;
async.parallel({

View File

@@ -4,19 +4,23 @@ var async = require('async');
var posts = require('../../posts');
var user = require('../../user');
var analytics = require('../../analytics');
var pagination = require('../../pagination');
var flagsController = {};
flagsController.get = function(req, res, next) {
var sortBy = req.query.sortBy || 'count';
var byUsername = req.query.byUsername || '';
var start = 0;
var stop = 19;
var page = parseInt(req.query.page, 10) || 1;
var itemsPerPage = 20;
var start = (page - 1) * itemsPerPage;
var stop = start + itemsPerPage - 1;
async.waterfall([
function (next) {
async.parallel({
posts: function(next) {
flagData: function(next) {
if (byUsername) {
posts.getUserFlags(byUsername, sortBy, req.uid, start, stop, next);
} else {
@@ -27,7 +31,9 @@ flagsController.get = function(req, res, next) {
analytics: function(next) {
analytics.getDailyStatsForSet('analytics:flags', Date.now(), 30, next);
},
assignees: async.apply(user.getAdminsandGlobalMods)
assignees: function(next) {
user.getAdminsandGlobalMods(next);
}
}, next);
}
], function (err, results) {
@@ -49,12 +55,15 @@ flagsController.get = function(req, res, next) {
return userObj;
});
var pageCount = Math.max(1, Math.ceil(results.flagData.count / itemsPerPage));
var data = {
posts: results.posts,
posts: results.flagData.posts,
assignees: results.assignees,
analytics: results.analytics,
next: stop + 1,
byUsername: byUsername,
pagination: pagination.create(page, pageCount, req.query),
title: '[[pages:flagged-posts]]'
};
res.render('admin/manage/flags', data);