fix user search pagination

This commit is contained in:
barisusakli
2015-11-25 16:00:57 -05:00
parent d12ccfacb5
commit 124b79f6aa
2 changed files with 13 additions and 20 deletions

View File

@@ -3,7 +3,6 @@
var async = require('async'),
meta = require('../meta'),
pagination = require('../pagination'),
plugins = require('../plugins'),
db = require('../database');
@@ -42,9 +41,11 @@ module.exports = function(User) {
searchResult.matchCount = uids.length;
if (paginate) {
var pagination = User.paginate(page, uids);
uids = pagination.data;
searchResult.pagination = pagination.pagination;
var resultsPerPage = parseInt(meta.config.userSearchResultsPerPage, 10) || 20;
var start = Math.max(0, page - 1) * resultsPerPage;
var stop = start + resultsPerPage;
searchResult.pageCount = Math.ceil(uids.length / resultsPerPage);
uids = uids.slice(start, stop);
}
User.getUsers(uids, uid, next);
@@ -57,21 +58,6 @@ module.exports = function(User) {
], callback);
};
User.paginate = function(page, data) {
var resultsPerPage = parseInt(meta.config.userSearchResultsPerPage, 10) || 20;
var start = Math.max(0, page - 1) * resultsPerPage;
var stop = start + resultsPerPage;
var pageCount = Math.ceil(data.length / resultsPerPage);
var currentPage = Math.max(1, Math.ceil((start + 1) / resultsPerPage));
return {
pagination: pagination.create(currentPage, pageCount),
pageCount: pageCount,
data: data.slice(start, stop)
};
};
function findUids(query, searchBy, callback) {
if (!query) {
return callback(null, []);