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

Fix: Internal Server Error occurred when the guest user access to the pages that has likes

Yuki Takei 5 лет назад
Родитель
Сommit
9c0eb068c3
2 измененных файлов с 7 добавлено и 3 удалено
  1. 6 2
      src/server/models/page.js
  2. 1 1
      src/server/views/widget/page_content.html

+ 6 - 2
src/server/models/page.js

@@ -336,9 +336,13 @@ module.exports = function(crowi) {
     return true;
   };
 
-  pageSchema.methods.isLiked = function(userData) {
+  pageSchema.methods.isLiked = function(user) {
+    if (user == null || user._id == null) {
+      return false;
+    }
+
     return this.liker.some((likedUserId) => {
-      return likedUserId.toString() === userData._id.toString();
+      return likedUserId.toString() === user._id.toString();
     });
   };
 

+ 1 - 1
src/server/views/widget/page_content.html

@@ -9,7 +9,7 @@
   data-page-revision-id-hackmd-synced="{% if revisionHackmdSynced %}{{ revisionHackmdSynced.toString() }}{% endif %}"
   data-page-id-on-hackmd="{% if pageIdOnHackmd %}{{ pageIdOnHackmd.toString() }}{% endif %}"
   data-page-has-draft-on-hackmd="{% if hasDraftOnHackmd %}{{ hasDraftOnHackmd.toString() }}{% endif %}"
-  data-page-is-liked="{% if page.isLiked(user) %}true{% else %}false{% endif %}"
+  data-page-is-liked="{% if user %}{{ page.isLiked(user) }}{% else %}false{% endif %}"
   data-page-is-seen="{% if page and page.isSeenUser(user) %}1{% else %}0{% endif %}"
   data-page-is-deleted="{% if page.isDeleted() %}true{% else %}false{% endif %}"
   data-page-is-deletable="{% if isDeletablePage() %}true{% else %}false{% endif %}"