mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-22 06:34:58 +00:00
Feature: [activity][list] Fix list for activities and refactor list with an helper
This commit is contained in:
@@ -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
|
||||
)
|
||||
)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user