Merge branch '451-activity-social-actions-list' into 'master'

Fix: display also social actions linked to parents of the selected social issue

Closes #451

See merge request Chill-Projet/chill-bundles!907
This commit is contained in:
2025-11-05 08:51:47 +00:00
2 changed files with 19 additions and 6 deletions

View File

@@ -0,0 +1,6 @@
kind: Fixed
body: 'Fix: display also social actions linked to parents of the selected social issue'
time: 2025-10-29T12:43:55.008647232+01:00
custom:
Issue: "451"
SchemaChange: No schema change

View File

@@ -122,6 +122,8 @@ class SocialIssue
* get all the ancestors of the social issue.
*
* @param bool $includeThis if the array in the result must include the present SocialIssue
*
* @return list<SocialIssue>
*/
public function getAncestors(bool $includeThis = true): array
{
@@ -176,7 +178,7 @@ class SocialIssue
}
/**
* @return Collection|SocialAction[] All the descendant social actions of the entity
* @return Collection<int, SocialAction> All the descendant social actions of the entity
*/
public function getDescendantsSocialActions(): Collection
{
@@ -239,18 +241,23 @@ class SocialIssue
}
/**
* @return Collection<SocialAction> All the descendant social actions of all
* the descendants of the entity
* @return Collection<int, SocialAction> All the social actions of the entity, it's
* the descendants and it's parents
*/
public function getRecursiveSocialActions(): Collection
{
$recursiveSocialActions = new ArrayCollection();
// Get social actions from parent issues
foreach ($this->getAncestors(false) as $ancestor) {
foreach ($ancestor->getDescendantsSocialActions() as $descendant) {
$recursiveSocialActions->add($descendant);
}
}
foreach ($this->getDescendantsWithThis() as $socialIssue) {
foreach ($socialIssue->getDescendantsSocialActions() as $descendant) {
if (!$recursiveSocialActions->contains($descendant)) {
$recursiveSocialActions->add($descendant);
}
$recursiveSocialActions->add($descendant);
}
}