From 18694a34cf5400086b14144e589b54831439c9ca Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Thu, 3 Mar 2022 16:24:37 +0100 Subject: [PATCH 1/5] logic added to only keep youngest descendant. works for issue, seems not to for action --- .../ChillActivityBundle/Entity/Activity.php | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Entity/Activity.php b/src/Bundle/ChillActivityBundle/Entity/Activity.php index 0a344236c..f80d4ab86 100644 --- a/src/Bundle/ChillActivityBundle/Entity/Activity.php +++ b/src/Bundle/ChillActivityBundle/Entity/Activity.php @@ -229,7 +229,18 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac public function addSocialAction(SocialAction $socialAction): self { - if (!$this->socialActions->contains($socialAction)) { + $descendants = $socialAction->getDescendants(); + $inCollection = false; + + if(null != $descendants) { + foreach ($descendants as $d) { + $inCollection = $this->socialActions->contains($d); + } + } else { + $inCollection = $this->socialActions->contains($socialAction); + } + + if(!$inCollection) { $this->socialActions[] = $socialAction; } @@ -238,7 +249,18 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac public function addSocialIssue(SocialIssue $socialIssue): self { - if (!$this->socialIssues->contains($socialIssue)) { + $descendants = $socialIssue->getDescendants(); + $inCollection = false; + + if(null != $descendants) { + foreach ($descendants as $d) { + $inCollection = $this->socialIssues->contains($d); + } + } else { + $inCollection = $this->socialIssues->contains($socialIssue); + } + + if(!$inCollection) { $this->socialIssues[] = $socialIssue; } From 214ef09fe72e6971de5609b94bd60cb389581f38 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Thu, 3 Mar 2022 16:29:35 +0100 Subject: [PATCH 2/5] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a38f2ea47..efd8189bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ and this project adheres to * [confidential] Fix position of toggle button so it does not cover text nor fall outside of box (no issue) * [parcours] Fix edit of both thirdparty and contact name (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/474) * [template] do not list inactive templates (for doc generator) - +* [action] Only youngest descendant is kept for social issues and actions (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/471) ## Test releases ### test release 2022-02-21 From 7c043e9d85257c0e8104f8a026fee30b43a5735a Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Fri, 4 Mar 2022 12:06:53 +0100 Subject: [PATCH 3/5] fix logic in activity entity --- .../ChillActivityBundle/Entity/Activity.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Entity/Activity.php b/src/Bundle/ChillActivityBundle/Entity/Activity.php index f80d4ab86..034e6073c 100644 --- a/src/Bundle/ChillActivityBundle/Entity/Activity.php +++ b/src/Bundle/ChillActivityBundle/Entity/Activity.php @@ -230,18 +230,18 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac public function addSocialAction(SocialAction $socialAction): self { $descendants = $socialAction->getDescendants(); - $inCollection = false; - if(null != $descendants) { + if(count($descendants) > 0) { foreach ($descendants as $d) { $inCollection = $this->socialActions->contains($d); + if ($inCollection) { + return $this; + } } } else { - $inCollection = $this->socialActions->contains($socialAction); - } - - if(!$inCollection) { - $this->socialActions[] = $socialAction; + if (!$this->socialActions->contains($socialAction)) { + $this->socialActions[] = $socialAction; + }; } return $this; @@ -250,18 +250,18 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac public function addSocialIssue(SocialIssue $socialIssue): self { $descendants = $socialIssue->getDescendants(); - $inCollection = false; - if(null != $descendants) { + if(count($descendants) > 0) { foreach ($descendants as $d) { $inCollection = $this->socialIssues->contains($d); + if ($inCollection) { + return $this; + } } } else { - $inCollection = $this->socialIssues->contains($socialIssue); - } - - if(!$inCollection) { - $this->socialIssues[] = $socialIssue; + if (!$this->socialIssues->contains($socialIssue)) { + $this->socialIssues[] = $socialIssue; + }; } return $this; From 0333e79b0ae1d3636720f595691b994b31c101a2 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Fri, 4 Mar 2022 12:07:29 +0100 Subject: [PATCH 4/5] csfixes --- src/Bundle/ChillActivityBundle/Entity/Activity.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Entity/Activity.php b/src/Bundle/ChillActivityBundle/Entity/Activity.php index 034e6073c..f183ced60 100644 --- a/src/Bundle/ChillActivityBundle/Entity/Activity.php +++ b/src/Bundle/ChillActivityBundle/Entity/Activity.php @@ -35,6 +35,7 @@ use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Serializer\Annotation\DiscriminatorMap; use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Serializer\Annotation\SerializedName; +use function count; /** * Class Activity. @@ -231,9 +232,10 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac { $descendants = $socialAction->getDescendants(); - if(count($descendants) > 0) { + if (count($descendants) > 0) { foreach ($descendants as $d) { $inCollection = $this->socialActions->contains($d); + if ($inCollection) { return $this; } @@ -241,7 +243,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac } else { if (!$this->socialActions->contains($socialAction)) { $this->socialActions[] = $socialAction; - }; + } } return $this; @@ -251,9 +253,10 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac { $descendants = $socialIssue->getDescendants(); - if(count($descendants) > 0) { + if (count($descendants) > 0) { foreach ($descendants as $d) { $inCollection = $this->socialIssues->contains($d); + if ($inCollection) { return $this; } @@ -261,7 +264,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac } else { if (!$this->socialIssues->contains($socialIssue)) { $this->socialIssues[] = $socialIssue; - }; + } } return $this; From 474fffcbb5b4dd63a8866feb46c1532c7a51fe93 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Fri, 4 Mar 2022 12:08:00 +0100 Subject: [PATCH 5/5] changelog updated --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index efd8189bc..55cc51fde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ and this project adheres to * [confidential] Fix position of toggle button so it does not cover text nor fall outside of box (no issue) * [parcours] Fix edit of both thirdparty and contact name (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/474) * [template] do not list inactive templates (for doc generator) -* [action] Only youngest descendant is kept for social issues and actions (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/471) +* [activity] Only youngest descendant is kept for social issues and actions (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/471) ## Test releases ### test release 2022-02-21