Procházet zdrojové kódy

add remove button to trash page

Yuki Takei před 9 roky
rodič
revize
83a0f0d2a7
3 změnil soubory, kde provedl 28 přidání a 13 odebrání
  1. 3 1
      lib/models/page.js
  2. 6 6
      lib/routes/page.js
  3. 19 6
      lib/views/page.html

+ 3 - 1
lib/models/page.js

@@ -911,9 +911,11 @@ module.exports = function(crowi) {
         return Revision.removeRevisionsByPath(pageData.path);
       }).then(function(done) {
         return Page.removePageById(pageId);
+      }).then(function(done) {
+        return Page.removeRedirectOriginPageByPath(pageData.path);
       }).then(function(done) {
         pageEvent.emit('delete', pageData, user); // update as renamed page
-        resolve();
+        resolve(pageData);
       }).catch(reject);
     });
   };

+ 6 - 6
lib/routes/page.js

@@ -758,15 +758,15 @@ module.exports = function(crowi, app) {
     .then(function(pageData) {
       debug('Delete page', pageData._id, pageData.path);
 
-      if (!pageData.isUpdatable(previousRevision)) {
-        throw new Error('Someone could update this page, so couldn\'t delete.');
-      }
-
       if (isCompletely) {
-        return Page.completelyDeletePage(pageData, req.user)
-          .then(() => pageData);
+        return Page.completelyDeletePage(pageData, req.user);
       }
+
       // else
+
+      if (!pageData.isUpdatable(previousRevision)) {
+        throw new Error('Someone could update this page, so couldn\'t delete.');
+      }
       return Page.deletePage(pageData, req.user);
     }).then(function(data) {
       debug('Page deleted', data.path);

+ 19 - 6
lib/views/page.html

@@ -81,12 +81,25 @@
 
   {% if page.isDeleted() %}
   <div class="alert alert-danger">
-    <form role="form" class="pull-right" id="revert-delete-page-form" onsubmit="return false;">
-      <input type="hidden" name="_csrf" value="{{ csrf() }}">
-      <input type="hidden" name="path" value="{{ page.path }}">
-      <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
-      <input type="submit" class="btn btn-danger btn-inverse btn-sm" value="Put Back!">
-    </form>
+    <ul class="list-inline pull-right">
+      <li>
+        <form role="form" id="revert-delete-page-form" onsubmit="return false;">
+          <input type="hidden" name="_csrf" value="{{ csrf() }}">
+          <input type="hidden" name="path" value="{{ page.path }}">
+          <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
+          <input type="submit" class="btn btn-success btn-sm" value="Put Back">
+        </form>
+      </li>
+      <li>
+        <form role="form" id="delete-page-form" onsubmit="return false;">
+          <input type="hidden" name="_csrf" value="{{ csrf() }}">
+          <input type="hidden" name="path" value="{{ page.path }}">
+          <input type="hidden" name="page_id" value="{{ page._id.toString() }}">
+          <input type="hidden" name="completely" value="true">
+          <input type="submit" class="btn btn-danger btn-sm" value="Delete Completely">
+        </form>
+      </li>
+    </ul>{# /.pull-right #}
     <p>
       <i class="fa fa-trash-o" aria-hidden="true"></i>
       This page is in the trash.<br>