|
|
@@ -131,10 +131,9 @@ module.exports = function(crowi, app) {
|
|
|
userData = data;
|
|
|
renderVars.pageUser = userData;
|
|
|
|
|
|
- return Bookmark.findByUser(userData, {limit: 10}).then(function(bookmarkList) {
|
|
|
- return Page.findListByPageIds(Object.keys(bookmarkList).map(function(e) { return bookmarkList[e].page; }), {});
|
|
|
- });
|
|
|
+ return Bookmark.findByUser(userData, {limit: 10, populatePage: true});
|
|
|
}).then(function(bookmarkList) {
|
|
|
+ debug(bookmarkList);
|
|
|
renderVars.bookmarkList = bookmarkList;
|
|
|
|
|
|
return Page.findListByCreator(userData, {limit: 10});
|
|
|
@@ -254,27 +253,38 @@ module.exports = function(crowi, app) {
|
|
|
// app.get( '/users/:username([^/]+)/bookmarks' , loginRequired(crowi, app) , page.userBookmarkList);
|
|
|
actions.userBookmarkList = function(req, res) {
|
|
|
var username = req.params.username;
|
|
|
- var offset = req.query.offset || 0;
|
|
|
- var userData;
|
|
|
+ var limit = parseInt(req.query.limit) || 50;
|
|
|
+ var offset = parseInt(req.query.offset) || 0;
|
|
|
+
|
|
|
+ var user;
|
|
|
var renderVars = {};
|
|
|
|
|
|
+ var pagerOptions = { offset: offset, limit : limit };
|
|
|
+ var queryOptions = { offset: offset, limit : limit + 1, populatePage: true};
|
|
|
+
|
|
|
User.findUserByUsername(username)
|
|
|
- .then(function(data) {
|
|
|
- if (data === null) {
|
|
|
+ .then(function(user) {
|
|
|
+ if (user === null) {
|
|
|
throw new Error('The user not found.');
|
|
|
}
|
|
|
- renderVars.pageUser = userData = data;
|
|
|
+ renderVars.user = user;
|
|
|
|
|
|
- return Bookmark.findByUser(userData, {offset: offset, limit: 50}).then(function(bookmarkList) {
|
|
|
- return Page.findListByPageIds(Object.keys(bookmarkList).map(function(e) { return bookmarkList[e].page; }), {});
|
|
|
- });
|
|
|
+ return Bookmark.findByUser(user, queryOptions);
|
|
|
+ }).then(function(bookmarks) {
|
|
|
+
|
|
|
+ if (bookmarks.length > limit) {
|
|
|
+ bookmarks.pop();
|
|
|
+ }
|
|
|
+ pagerOptions.length = bookmarks.length;
|
|
|
+
|
|
|
+ renderVars.pager = generatePager(pagerOptions);
|
|
|
+ renderVars.bookmarks = bookmarks;
|
|
|
+
|
|
|
+ return res.render('user/bookmarks', renderVars);
|
|
|
}).catch(function(err) {
|
|
|
debug('Error on rendereing bookmark', err);
|
|
|
res.redirect('/');
|
|
|
});
|
|
|
- return res.render('user/bookmarks', {
|
|
|
- username: username
|
|
|
- });
|
|
|
};
|
|
|
|
|
|
// app.get( '/users/:username([^/]+)/recent-create' , loginRequired(crowi, app) , page.userRecentCreatedList);
|