itizawa 6 лет назад
Родитель
Сommit
4c926e207d

+ 5 - 5
src/server/models/user.js

@@ -199,13 +199,13 @@ module.exports = function(crowi) {
     });
   };
 
-  userSchema.methods.canDeleteCompletely = function(user) {
-    const isEnable = !crowi.configManager.getConfig('crowi', 'security:isEnabledDeleteCompletely');
-    if (user.admin || isEnable) {
-      return true;
+  userSchema.methods.canDeleteCompletely = function() {
+    const isDeniedCompletelyDelete = crowi.configManager.getConfig('crowi', 'security:isEnabledDeleteCompletely');
+    if ((!this.admin) && isDeniedCompletelyDelete) {
+      return false;
     }
 
-    return false;
+    return true;
   };
 
   userSchema.methods.updateApiToken = function(callback) {

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

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

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

@@ -30,10 +30,10 @@
           </div>
           {% if not page.isDeleted() %}
           <div class="checkbox checkbox-danger">
-          <input name="completely" id="cbDeleteCompletely" {% if !user.canDeleteCompletely(user) %} disabled="disabled" {% endif %} value="1"  type="checkbox">
+          <input name="completely" id="cbDeleteCompletely" {% if !user.canDeleteCompletely() %} 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) %}
+            {% if !user.canDeleteCompletely() %}
               <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>

+ 1 - 1
src/server/views/widget/page_alerts.html

@@ -27,7 +27,7 @@
           <button 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') }}</button>
         </li>
         <li>
-            <button href="#" class="btn btn-danger btn-rounded btn-sm" {% if !user.canDeleteCompletely(user) %} disabled="disabled" {% endif %} data-target="#deletePage" data-toggle="modal"><i class="icon-fire" aria-hidden="true"></i> {{ t('Delete Completely') }}</button>
+            <button href="#" class="btn btn-danger btn-rounded btn-sm" {% if !user.canDeleteCompletely() %} disabled="disabled" {% endif %} data-target="#deletePage" data-toggle="modal"><i class="icon-fire" aria-hidden="true"></i> {{ t('Delete Completely') }}</button>
         </li>
       </ul>{# /.pull-right #}
       {% endif %}