Explorar el Código

# Feature/45 duplicate page
* Delete page-duplicate execute function.
* Change call function duplicate -> create in page-duplication-api.
* Fix options for call page-create function from page-duplication-api.

Tatsuya Ise hace 8 años
padre
commit
d425291719
Se han modificado 2 ficheros con 1 adiciones y 49 borrados
  1. 0 48
      lib/models/page.js
  2. 1 1
      lib/routes/page.js

+ 0 - 48
lib/models/page.js

@@ -1157,54 +1157,6 @@ module.exports = function(crowi) {
     });
   };
 
-  pageSchema.statics.duplicate = function (path, originPageData, user, options) {
-    var Page = this
-      , Revision = crowi.model('Revision')
-      , format = options.format || 'markdown'
-      , grant = options.grant || GRANT_PUBLIC
-      , originRevision = originPageData.revision
-
-    // force public
-    if (isPortalPath(path)) {
-      grant = GRANT_PUBLIC;
-    }
-
-    return new Promise(function (resolve, reject) {
-      Page.findOne({ path: path }, function (err, pageData) {
-        if (pageData) {
-          return reject(new Error('Cannot create new page to existed path'));
-        }
-
-        var newPage = new Page();
-        newPage.path = path;
-        newPage.creator = user;
-        newPage.lastUpdateUser = user;
-        newPage.createdAt = Date.now();
-        newPage.updatedAt = Date.now();
-        newPage.redirectTo = null;
-        newPage.grant = grant;
-        newPage.status = STATUS_PUBLISHED;
-        newPage.grantedUsers = [];
-        newPage.grantedUsers.push(user);
-
-        newPage.save(function (err, newPage) {
-          if (err) {
-            return reject(err);
-          }
-
-          var newRevision = Revision.prepareRevision(newPage, originRevision.body, user, { format: format });
-          Page.pushRevision(newPage, newRevision, user).then(function (data) {
-            resolve(data);
-            pageEvent.emit('create', data, user);
-          }).catch(function (err) {
-            debug('Push Revision Error on duplicate page', err);
-            return reject(err);
-          });
-        });
-      });
-    });
-  };
-
   pageSchema.statics.getHistories = function() {
     // TODO
     return;

+ 1 - 1
lib/routes/page.js

@@ -1171,7 +1171,7 @@ module.exports = function(crowi, app) {
 
         Page.findPageById(pageId)
           .then(function (pageData) {
-            return Page.duplicate(newPagePath, pageData, req.user, { grant: grant });
+            return Page.create(newPagePath, pageData.revision.body, req.user, { format: pageData.format, grant: pageData.grant, redirectTo: pageData.redirectTo });
 
           }).then(function (data) {
             if (!data) {