瀏覽代碼

fixed flaglistitems not being deleted when flagcoll is

bach 3 年之前
父節點
當前提交
a6f28da58f
共有 1 個文件被更改,包括 12 次插入2 次删除
  1. 12 2
      web/modules/custom/materio_flag/src/Controller/MaterioFlagController.php

+ 12 - 2
web/modules/custom/materio_flag/src/Controller/MaterioFlagController.php

@@ -125,11 +125,21 @@ class MaterioFlagController extends ControllerBase {
     $flagcollid = $post_data['flagcollid'];
 
     $flagcoll = $this->flagListsService->getFlaggingCollectionById($flagcollid);
-    // dump($flagcoll);
-    $flagcoll->delete();
+
+    $relatedflag = $flagcoll->getRelatedFlag();
+
+    // flaglistitems are not deleted with the flagcoll
+    $itemsids = $this->flagListsService->getFlagListItemIds($relatedflag->id(),$flagcoll->id());
+    foreach ($this->flagListsService->getFlagListItems($itemsids) as $item) {
+      $item->delete();
+    }
+
     // TODO: warning, sometimes relatedFlag deos not exists
     // $flag = $flagcoll->getRelatedFlag();
 
+    // finaly delete the flag collection
+    $flagcoll->delete();
+
     $data = [
       // 'result' => $flag,
       'id' => $flagcollid