Просмотр исходного кода

Merge pull request #986 from weseek/Function-to-prevent-complete-erasure

Function to prevent complete erasure
Yuki Takei 6 лет назад
Родитель
Сommit
26c56b3b5f

+ 8 - 0
src/server/models/user.js

@@ -199,6 +199,14 @@ module.exports = function(crowi) {
     });
   };
 
+  userSchema.methods.canDeleteCompletely = function(user) {
+    if (user.admin) {
+      return true;
+    }
+
+    return false;
+  };
+
   userSchema.methods.updateApiToken = function(callback) {
     const self = this;
 

+ 1 - 1
src/server/views/modal/delete.html

@@ -28,7 +28,7 @@
             <p class="help-block"> {{ t('modal_delete.help.recursively', page.path) }}
             </p>
           </div>
-          {% if not page.isDeleted() %}
+          {% if not page.isDeleted() and user.canDeleteCompletely(user) %}
           <div class="checkbox checkbox-danger">
             <input name="completely" id="cbDeleteCompletely" value="1"  type="checkbox">
               <label for="cbDeleteCompletely" class="text-danger">{{ t('modal_delete.label.Delete completely') }}</label>

+ 2 - 0
src/server/views/widget/page_alerts.html

@@ -26,9 +26,11 @@
         <li>
           <a href="#" class="btn btn-default btn-rounded btn-sm" data-target="#putBackPage" data-toggle="modal"><i class="icon-action-undo" aria-hidden="true"></i> {{ t('Put Back') }}</a>
         </li>
+        {% if user.canDeleteCompletely(user) %}
         <li>
           <a href="#" class="btn btn-danger btn-rounded btn-sm" data-target="#deletePage" data-toggle="modal"><i class="icon-fire" aria-hidden="true"></i> {{ t('Delete Completely') }}</a>
         </li>
+        {% endif %}
       </ul>{# /.pull-right #}
       {% endif %}
     </div>