itizawa 6 سال پیش
والد
کامیت
e6bee897e9
3فایلهای تغییر یافته به همراه14 افزوده شده و 11 حذف شده
  1. 2 1
      src/server/models/user.js
  2. 2 2
      src/server/routes/page.js
  3. 10 8
      src/server/views/modal/delete.html

+ 2 - 1
src/server/models/user.js

@@ -200,7 +200,8 @@ module.exports = function(crowi) {
   };
   };
 
 
   userSchema.methods.canDeleteCompletely = function(user) {
   userSchema.methods.canDeleteCompletely = function(user) {
-    if (user.admin) {
+    const isEnable = !crowi.configManager.getConfig('crowi', 'security:isEnabledDeleteCompletely');
+    if (user.admin || isEnable) {
       return true;
       return true;
     }
     }
 
 

+ 2 - 2
src/server/routes/page.js

@@ -940,8 +940,8 @@ module.exports = function(crowi, app) {
     try {
     try {
       if (isCompletely) {
       if (isCompletely) {
         // get useradmin flag
         // get useradmin flag
-        const isDeniedCompletelyDelete = !req.user.admin;
-        if (isDeniedCompletelyDelete) {
+        const isDeniedCompletelyDelete = crowi.configManager.getConfig('crowi', 'security:isEnabledDeleteCompletely');
+        if (isDeniedCompletelyDelete && !req.user.admin) {
           return res.json(ApiResponse.error('You can not delete completely', 'user_not_admin'));
           return res.json(ApiResponse.error('You can not delete completely', 'user_not_admin'));
         }
         }
         if (isRecursively) {
         if (isRecursively) {

+ 10 - 8
src/server/views/modal/delete.html

@@ -28,16 +28,18 @@
             <p class="help-block"> {{ t('modal_delete.help.recursively', page.path) }}
             <p class="help-block"> {{ t('modal_delete.help.recursively', page.path) }}
             </p>
             </p>
           </div>
           </div>
+          {% if not page.isDeleted() %}
           <div class="checkbox checkbox-danger">
           <div class="checkbox checkbox-danger">
-          <input name="completely" id="cbDeleteCompletely" {% if not page.isDeleted() and !user.canDeleteCompletely(user) %} disabled="disabled" {% endif %} value="1"  type="checkbox">
-              <label for="cbDeleteCompletely" class="text-danger">{{ t('modal_delete.label.Delete completely') }}</label>
-              <!-- GC-1755 Change Sentence -->
-              {% if not page.isDeleted() and !user.canDeleteCompletely(user) %}
-                <p class="bg-danger text-white p-2 mt-2"> <i class="icon-ban" ></i> 完全削除の権限がありません </p>
-              {% else %}
-                <p class="help-block"> {{ t('modal_delete.help.completely') }}</p>
-              {% endif %}
+          <input name="completely" id="cbDeleteCompletely" {% if !user.canDeleteCompletely(user) %} disabled="disabled" {% endif %} value="1"  type="checkbox">
+            <label for="cbDeleteCompletely" class="text-danger">{{ t('modal_delete.label.Delete completely') }}</label>
+            <!-- GC-1755 Change Sentence -->
+            {% if !user.canDeleteCompletely(user) %}
+              <p class="bg-danger text-white p-2 mt-2"> <i class="icon-ban" ></i> 完全削除の権限がありません </p>
+            {% else %}
+            <p class="help-block"> {{ t('modal_delete.help.completely') }}</p>
+            {% endif %}
           </div>
           </div>
+          {% endif %}
         </div>
         </div>
         <div class="modal-footer">
         <div class="modal-footer">
           <div class="d-flex justify-content-between">
           <div class="d-flex justify-content-between">