Feature: [activity][list] Fix list for activities and refactor list with an helper

This commit is contained in:
2022-12-05 18:25:23 +01:00
parent d080dfda9a
commit 368136ea57
11 changed files with 801 additions and 0 deletions

View File

@@ -13,6 +13,8 @@ namespace Chill\MainBundle\Export\Helper;
use Chill\MainBundle\Repository\UserRepositoryInterface;
use Chill\MainBundle\Templating\Entity\UserRender;
use function count;
use const SORT_NUMERIC;
class UserHelper
{
@@ -40,4 +42,43 @@ class UserHelper
return $this->userRender->renderString($user, []);
};
}
public function getLabelMulti($key, array $values, string $header): callable
{
return function ($value) {
if ('_header' === $value) {
return 'users name';
}
if (null === $value) {
return '';
}
$decoded = json_decode($value);
if (0 === count($decoded)) {
return '';
}
return
implode(
'|',
array_map(
function (int $userId) {
$user = $this->userRepository->find($userId);
if (null === $user) {
return '';
}
return $this->userRender->renderString($user, []);
},
array_unique(
array_filter($decoded, static fn (?int $userId) => null !== $userId),
SORT_NUMERIC
)
)
);
};
}
}