Bladeren bron

BugFix: generateQueryToListByStartWith doesn't work when Crowi behavior

Yuki Takei 8 jaren geleden
bovenliggende
commit
c63c1cd2eb
1 gewijzigde bestanden met toevoegingen van 10 en 9 verwijderingen
  1. 10 9
      lib/models/page.js

+ 10 - 9
lib/models/page.js

@@ -731,19 +731,20 @@ module.exports = function(crowi) {
     var includeDeletedPage = option.includeDeletedPage || false;
     var isRegExpEscapedFromPath = option.isRegExpEscapedFromPath || false;
 
+    let pathSlashOmitted = path;
+    if (path.match(/\/$/)) {
+      // add condition for finding the page completely match with `path`
+      pathSlashOmitted = path.substr(0, path.length -1);
+      pathCondition.push({path: pathSlashOmitted});
+    }
+
     // create forward match pattern
     var pattern = (isRegExpEscapedFromPath)
-      ? `^${escapeStringRegexp(path)}`  // escape
-      : `^${path}`;
-    var queryReg = new RegExp(pattern);
+      ? escapeStringRegexp(pathSlashOmitted)  // escape
+      : pathSlashOmitted;
+    var queryReg = new RegExp('^' + pattern);
     pathCondition.push({path: queryReg});
 
-    // add condition for finding the page completely match with `path`
-    if (path.match(/\/$/)) {
-      debug('Page list by ending with /, so find also upper level page');
-      pathCondition.push({path: path.substr(0, path.length -1)});
-    }
-
     var q = Page.find({
       redirectTo: null,
       $or: [