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

Fix: show creator or last update user

Sotaro KARASAWA 11 лет назад
Родитель
Сommit
7ba58e6c68
2 измененных файлов с 7 добавлено и 10 удалено
  1. 4 8
      models/page.js
  2. 3 2
      views/page.html

+ 4 - 8
models/page.js

@@ -10,25 +10,21 @@ module.exports = function(app, models) {
     , pageSchema;
     , pageSchema;
 
 
   function populatePageData(pageData, revisionId, callback) {
   function populatePageData(pageData, revisionId, callback) {
-    debug('pageData', pageData.revision);
     if (revisionId) {
     if (revisionId) {
       pageData.revision = revisionId;
       pageData.revision = revisionId;
     }
     }
 
 
     pageData.latestRevision = pageData.revision;
     pageData.latestRevision = pageData.revision;
+    pageData.likerCount = pageData.liker.length || 0;
+    pageData.seenUsersCount = pageData.seenUsers.length || 0;
+
     pageData.populate([
     pageData.populate([
       {path: 'creator', model: 'User'},
       {path: 'creator', model: 'User'},
       {path: 'revision', model: 'Revision'},
       {path: 'revision', model: 'Revision'},
       {path: 'liker', options: { limit: 11 }},
       {path: 'liker', options: { limit: 11 }},
       {path: 'seenUsers', options: { limit: 11 }},
       {path: 'seenUsers', options: { limit: 11 }},
     ], function (err, pageData) {
     ], function (err, pageData) {
-      models.Page.populate(pageData, {path: 'revision.author', model: 'User'}, function(err, pageData) {
-        // v1.1.1 以前では creator が存在しなかったため、なかったら revision.author をつっこんでおく
-        if (undefined === pageData.creator) {
-          pageData.creator = pageData.revision.author;
-        }
-        return callback(err, pageData);
-      });
+      models.Page.populate(pageData, {path: 'revision.author', model: 'User'}, callback);
     });
     });
   }
   }
 
 

+ 3 - 2
views/page.html

@@ -165,12 +165,13 @@
 {% if page %} {# {{{ if page #}
 {% if page %} {# {{{ if page #}
 <div class="page-meta">
 <div class="page-meta">
   <div class="row">
   <div class="row">
+    {# default(author) としているのは、v1.1.1 以前に page.creator データが入ってないから。暫定として最新更新ユーザーを表示しちゃう。 #}
     <div class="col-md-3 creator-picture">
     <div class="col-md-3 creator-picture">
-      <img src="{{ page.creator|picture }}" class="picture picture-lg picture-rounded"><br>
+      <img src="{{ page.creator|default(author)|picture }}" class="picture picture-lg picture-rounded"><br>
     </div>
     </div>
     <div class="col-md-9">
     <div class="col-md-9">
       <p class="creator">
       <p class="creator">
-        {{ page.creator.name }}
+        {{ page.creator.name|default(author.name) }}
       </p>
       </p>
       <p class="created-at">
       <p class="created-at">
         作成日: {{ page.createdAt|datetz('Y/m/d H:i:s') }}<br>
         作成日: {{ page.createdAt|datetz('Y/m/d H:i:s') }}<br>