From a6f28da58fca250763d75daaa15af0b7b85e72d8 Mon Sep 17 00:00:00 2001 From: bach Date: Fri, 26 Feb 2021 23:50:23 +0100 Subject: [PATCH] fixed flaglistitems not being deleted when flagcoll is --- .../src/Controller/MaterioFlagController.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/web/modules/custom/materio_flag/src/Controller/MaterioFlagController.php b/web/modules/custom/materio_flag/src/Controller/MaterioFlagController.php index 69796df..01819af 100644 --- a/web/modules/custom/materio_flag/src/Controller/MaterioFlagController.php +++ b/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