Răsfoiți Sursa

impl removing page completely

Yuki Takei 9 ani în urmă
părinte
comite
d3af74727b
1 a modificat fișierele cu 9 adăugiri și 0 ștergeri
  1. 9 0
      lib/routes/page.js

+ 9 - 0
lib/routes/page.js

@@ -751,6 +751,9 @@ module.exports = function(crowi, app) {
     var pageId = req.body.page_id;
     var pageId = req.body.page_id;
     var previousRevision = req.body.revision_id || null;
     var previousRevision = req.body.revision_id || null;
 
 
+    // get completely flag
+    const isCompletely = (req.body.completely !== undefined);
+
     Page.findPageByIdAndGrantedUser(pageId, req.user)
     Page.findPageByIdAndGrantedUser(pageId, req.user)
     .then(function(pageData) {
     .then(function(pageData) {
       debug('Delete page', pageData._id, pageData.path);
       debug('Delete page', pageData._id, pageData.path);
@@ -758,6 +761,12 @@ module.exports = function(crowi, app) {
       if (!pageData.isUpdatable(previousRevision)) {
       if (!pageData.isUpdatable(previousRevision)) {
         throw new Error('Someone could update this page, so couldn\'t delete.');
         throw new Error('Someone could update this page, so couldn\'t delete.');
       }
       }
+
+      if (isCompletely) {
+        return Page.completelyDeletePage(pageData, req.user)
+          .then(() => pageData);
+      }
+      // else
       return Page.deletePage(pageData, req.user);
       return Page.deletePage(pageData, req.user);
     }).then(function(data) {
     }).then(function(data) {
       debug('Page deleted', data.path);
       debug('Page deleted', data.path);