Просмотр исходного кода

fix: profile images are broken in User Management

Yuki Takei 6 лет назад
Родитель
Сommit
17c9cb427b
3 измененных файлов с 15 добавлено и 13 удалено
  1. 1 1
      CHANGES.md
  2. 8 11
      src/server/models/user.js
  3. 6 1
      src/server/routes/admin.js

+ 1 - 1
CHANGES.md

@@ -2,7 +2,7 @@
 
 ## 3.5.5-RC
 
-* 
+* Fix: Profile images are broken in User Management
 
 ## 3.5.4
 

+ 8 - 11
src/server/models/user.js

@@ -438,17 +438,14 @@ module.exports = function(crowi) {
   };
 
   userSchema.statics.findUsersWithPagination = async function(options) {
-    const sort = options.sort || { status: 1, username: 1, createdAt: 1 };
-
-    // eslint-disable-next-line no-return-await
-    return await this.paginate({ status: { $ne: STATUS_DELETED } }, { page: options.page || 1, limit: options.limit || PAGE_ITEMS }, (err, result) => {
-      if (err) {
-        debug('Error on pagination:', err);
-        throw new Error(err);
-      }
-
-      return result;
-    }, { sortBy: sort });
+    const defaultOptions = {
+      sort: { status: 1, username: 1, createdAt: 1 },
+      page: 1,
+      limit: PAGE_ITEMS,
+    };
+    const mergedOptions = Object.assign(defaultOptions, options);
+
+    return this.paginate({ status: { $ne: STATUS_DELETED } }, mergedOptions);
   };
 
   userSchema.statics.findUsersByPartOfEmail = function(emailPart, options) {

+ 6 - 1
src/server/routes/admin.js

@@ -418,7 +418,12 @@ module.exports = function(crowi, app) {
 
     const page = parseInt(req.query.page) || 1;
 
-    const result = await User.findUsersWithPagination({ page });
+    const result = await User.findUsersWithPagination({
+      page,
+      select: User.USER_PUBLIC_FIELDS,
+      populate: User.IMAGE_POPULATION,
+    });
+
     const pager = createPager(result.total, result.limit, result.page, result.pages, MAX_PAGE_LIST);
 
     return res.render('admin/users', {