From c79f030310f67a2079bc329f738f33d3e18bdbbe Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 29 Oct 2024 18:04:14 +0100 Subject: [PATCH] Fix person list exports --- .../Export/Helper/ListPersonHelper.php | 15 ++++++++++++++- .../Controller/PersonControllerCreateTest.php | 3 ++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Export/Helper/ListPersonHelper.php b/src/Bundle/ChillPersonBundle/Export/Helper/ListPersonHelper.php index 393d246ea..0c270a7ca 100644 --- a/src/Bundle/ChillPersonBundle/Export/Helper/ListPersonHelper.php +++ b/src/Bundle/ChillPersonBundle/Export/Helper/ListPersonHelper.php @@ -16,6 +16,7 @@ use Chill\MainBundle\Export\Helper\ExportAddressHelper; use Chill\MainBundle\Repository\CenterRepositoryInterface; use Chill\MainBundle\Repository\CivilityRepositoryInterface; use Chill\MainBundle\Repository\CountryRepository; +use Chill\MainBundle\Repository\GenderRepository; use Chill\MainBundle\Repository\LanguageRepositoryInterface; use Chill\MainBundle\Repository\UserRepositoryInterface; use Chill\MainBundle\Templating\TranslatableStringHelper; @@ -80,6 +81,7 @@ final readonly class ListPersonHelper private TranslatableStringHelper $translatableStringHelper, private TranslatorInterface $translator, private UserRepositoryInterface $userRepository, + private GenderRepository $genderRepository, /** * @var iterable */ @@ -173,6 +175,11 @@ final readonly class ListPersonHelper break; + case 'gender': + $qb->addSelect('IDENTITY(person.gender) AS gender'); + + break; + case 'maritalStatus': $qb->addSelect('IDENTITY(person.maritalStatus) AS maritalStatus'); @@ -325,7 +332,13 @@ final readonly class ListPersonHelper return $this->translator->trans($key); } - return $this->translator->trans($value); + if (null === $value) { + return ''; + } + + $gender = $this->genderRepository->find($value); + + return $this->translatableStringHelper->localize($gender->getLabel()); }; case 'maritalStatus': diff --git a/src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerCreateTest.php b/src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerCreateTest.php index 67821ad3d..8582aa712 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerCreateTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerCreateTest.php @@ -226,7 +226,8 @@ final class PersonControllerCreateTest extends WebTestCase ) { $creationForm->get(self::FIRSTNAME_INPUT)->setValue($firstname.'_'.uniqid()); $creationForm->get(self::LASTNAME_INPUT)->setValue($lastname.'_'.uniqid()); - $creationForm->get(self::GENDER_INPUT)->select('man'); + // Todo change hardcoded id + $creationForm->get(self::GENDER_INPUT)->select(5); $date = $birthdate ?? new \DateTime('1947-02-01'); $creationForm->get(self::BIRTHDATE_INPUT)->setValue($date->format('Y-m-d'));