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

fix website deletion error when website is already soft deleted

Olivier Massot 8 месяцев назад
Родитель
Сommit
6057cd746b
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      ot_admin/Classes/Controller/SiteController.php

+ 5 - 2
ot_admin/Classes/Controller/SiteController.php

@@ -800,9 +800,12 @@ class SiteController extends ActionController
      */
     public function deleteSiteAction(int $organizationId, bool $hard=false, bool $redirectToParent=true, bool $force = false): int
     {
-        $website = $this->otWebsiteRepository->getWebsiteByOrganizationId($organizationId);
+        $withRestrictions = !$hard;  // Une suppression 'hard' doit ignorer les restrictions pour pouvoir
+                                     // aussi supprimer définitivement un site déjà soft-deleted
+
+        $website = $this->otWebsiteRepository->getWebsiteByOrganizationId($organizationId, $withRestrictions);
         $websiteUid = $website['uid'];
-        $rootUid = $this->otWebsiteRepository->getWebsiteRootUid($website['uid']);
+        $rootUid = $this->otWebsiteRepository->getWebsiteRootUid($website['uid'], $withRestrictions);
 
         $queryBuilder = $this->connectionPool->getQueryBuilderForTable('pages');
         $isDeleted = $queryBuilder