Browse Source

fixed flaglistitems not being deleted when flagcoll is

bach 3 years ago
parent
commit
a6f28da58f

+ 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