Procházet zdrojové kódy

Merge branch 'master' into wip-v1.5.1

Sotaro KARASAWA před 9 roky
rodič
revize
dc21495098

+ 6 - 5
lib/models/page.js

@@ -535,18 +535,19 @@ module.exports = function(crowi) {
     });
     });
   };
   };
 
 
-  /**
-   * とりあえず、公開ページであり、redirectTo が無いものだけを出すためだけのAPI
-   */
-  pageSchema.statics.findListByCreator = function(user, option) {
+  pageSchema.statics.findListByCreator = function(user, option, currentUser) {
     var Page = this;
     var Page = this;
     var User = crowi.model('User');
     var User = crowi.model('User');
     var limit = option.limit || 50;
     var limit = option.limit || 50;
     var offset = option.offset || 0;
     var offset = option.offset || 0;
+    var conditions = { creator: user._id, redirectTo: null };
+    if (!user.equals(currentUser._id)) {
+      conditions.grant = GRANT_PUBLIC;
+    }
 
 
     return new Promise(function(resolve, reject) {
     return new Promise(function(resolve, reject) {
       Page
       Page
-      .find({ creator: user._id, grant: GRANT_PUBLIC, redirectTo: null })
+      .find(conditions)
       .sort({createdAt: -1})
       .sort({createdAt: -1})
       .skip(offset)
       .skip(offset)
       .limit(limit)
       .limit(limit)

+ 2 - 2
lib/routes/page.js

@@ -252,7 +252,7 @@ module.exports = function(crowi, app) {
         }).then(function(bookmarkList) {
         }).then(function(bookmarkList) {
           renderVars.bookmarkList = bookmarkList;
           renderVars.bookmarkList = bookmarkList;
 
 
-          return Page.findListByCreator(userData, {limit: 10});
+          return Page.findListByCreator(userData, {limit: 10}, req.user);
         }).then(function(createdList) {
         }).then(function(createdList) {
           renderVars.createdList = createdList;
           renderVars.createdList = createdList;
           return Promise.resolve();
           return Promise.resolve();
@@ -477,7 +477,7 @@ module.exports = function(crowi, app) {
       }
       }
       renderVars.pageUser = user;
       renderVars.pageUser = user;
 
 
-      return Page.findListByCreator(user, queryOptions);
+      return Page.findListByCreator(user, queryOptions, req.user);
     }).then(function(pages) {
     }).then(function(pages) {
 
 
       if (pages.length > limit) {
       if (pages.length > limit) {

+ 1 - 1
lib/util/slack.js

@@ -160,7 +160,7 @@ module.exports = function(crowi) {
       author_link: url + '/user/' + user.username,
       author_link: url + '/user/' + user.username,
       author_icon: user.image,
       author_icon: user.image,
       title: page.path,
       title: page.path,
-      title_link: url + page.path,
+      title_link: url + '/' + page._id,
       text: body,
       text: body,
       mrkdwn_in: ["text"],
       mrkdwn_in: ["text"],
     };
     };

+ 1 - 0
resource/css/_comment.scss

@@ -55,6 +55,7 @@
         }
         }
         .page-comment-body {
         .page-comment-body {
           padding: 8px 0;
           padding: 8px 0;
+          word-wrap: break-word;
         }
         }
       }
       }
     }
     }

+ 1 - 1
resource/css/_wiki.scss

@@ -114,7 +114,7 @@ div.body {
     background: #444;
     background: #444;
     color: #f0f0f0;
     color: #f0f0f0;
     font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
     font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-    word-break: break-word;
+    word-wrap: break-word;
   }
   }
 
 
   img {
   img {

+ 12 - 6
test/utils.js

@@ -2,6 +2,7 @@
 
 
 var mongoUri = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || process.env.MONGO_URI || null
 var mongoUri = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || process.env.MONGO_URI || null
   , mongoose= require('mongoose')
   , mongoose= require('mongoose')
+  , fs = require('fs')
   , models = {}
   , models = {}
   , crowi = new (require(ROOT_DIR + '/lib/crowi'))(ROOT_DIR, process.env)
   , crowi = new (require(ROOT_DIR + '/lib/crowi'))(ROOT_DIR, process.env)
   ;
   ;
@@ -42,12 +43,17 @@ after('Close database connection', function (done) {
   return done();
   return done();
 });
 });
 
 
-
-models.Page     = require(MODEL_DIR + '/page.js')(crowi);
-models.User     = require(MODEL_DIR + '/user.js')(crowi);
-models.Config   = require(MODEL_DIR + '/config.js')(crowi);
-models.Revision = require(MODEL_DIR + '/revision.js')(crowi);
-models.UpdatePost = require(MODEL_DIR + '/updatePost.js')(crowi);
+// Setup Models
+fs.readdirSync(MODEL_DIR).forEach(function(file) {
+  if (file.match(/^(\w+)\.js$/)) {
+    var name = RegExp.$1;
+    if (name === 'index') {
+      return;
+    }
+    var modelName = name.charAt(0).toUpperCase() + name.slice(1);
+    models[modelName] = require(MODEL_DIR + '/' + file)(crowi);
+  }
+});
 
 
 crowi.models = models;
 crowi.models = models;