ryoji-s 2 лет назад
Родитель
Сommit
0e81830992
2 измененных файлов с 12 добавлено и 3 удалено
  1. 8 2
      apps/app/src/server/routes/page.js
  2. 4 1
      apps/app/src/server/service/page.ts

+ 8 - 2
apps/app/src/server/routes/page.js

@@ -766,7 +766,10 @@ module.exports = function(crowi, app) {
           return res.json(ApiResponse.error('You can not delete this page completely', 'user_not_admin'));
         }
 
-        if (pagePathUtils.isUsersHomepage(page.path) && crowi.pageService.canDeleteUserHomepageByConfig()) {
+        if (pagePathUtils.isUsersHomepage(page.path)) {
+          if (!crowi.pageService.canDeleteUserHomepageByConfig()) {
+            return res.json(ApiResponse.error('Could not delete user homepage'));
+          }
           if (!await crowi.pageService.isUsersHomepageOwnerAbsent(page.path)) {
             return res.json(ApiResponse.error('Could not delete user homepage'));
           }
@@ -789,7 +792,10 @@ module.exports = function(crowi, app) {
           return res.json(ApiResponse.error('You can not delete this page', 'user_not_admin'));
         }
 
-        if (pagePathUtils.isUsersHomepage(page.path) && crowi.pageService.canDeleteUserHomepageByConfig()) {
+        if (pagePathUtils.isUsersHomepage(page.path)) {
+          if (!crowi.pageService.canDeleteUserHomepageByConfig()) {
+            return res.json(ApiResponse.error('Could not delete user homepage'));
+          }
           if (!await crowi.pageService.isUsersHomepageOwnerAbsent(page.path)) {
             return res.json(ApiResponse.error('Could not delete user homepage'));
           }

+ 4 - 1
apps/app/src/server/service/page.ts

@@ -1446,7 +1446,10 @@ class PageService {
       throw new Error('Page is not deletable.');
     }
 
-    if (pagePathUtils.isUsersHomepage(page.path) && this.crowi.pageService.canDeleteUserHomepageByConfig()) {
+    if (pagePathUtils.isUsersHomepage(page.path)) {
+      if (!this.crowi.pageService.canDeleteUserHomepageByConfig()) {
+        throw new Error('User Homepage is not deletable.');
+      }
       if (!await this.crowi.pageService.isUsersHomepageOwnerAbsent(page.path)) {
         throw new Error('User Homepage is not deletable.');
       }