From 4f6a7116a4cb63d7e99373a94f5fde86942f0425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 12 Mar 2025 21:57:54 +0100 Subject: [PATCH] fixup! Add ChillBundle normalization methods rector rule --- .../Export/Formatter/CSVFormatter.php | 15 +++++++++++++ .../HandlingThirdPartyFilter.php | 18 +++++++++++++++ .../PersonFilters/NationalityFilter.php | 22 +++++++++++++++++-- 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php b/src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php index f0c2b9cee..3edb8573c 100644 --- a/src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php +++ b/src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php @@ -74,6 +74,21 @@ class CSVFormatter implements FormatterInterface } } + public function getNormalizationVersion(): int + { + return 1; + } + + public function normalizeFormData(array $formData): array + { + return []; + } + + public function denormalizeFormData(array $formData, int $fromVersion): array + { + return []; + } + public function getFormDefaultData(array $aggregatorAliases): array { return []; diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HandlingThirdPartyFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HandlingThirdPartyFilter.php index 9a89d3baf..b625cd235 100644 --- a/src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HandlingThirdPartyFilter.php +++ b/src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HandlingThirdPartyFilter.php @@ -15,6 +15,7 @@ use Chill\MainBundle\Export\FilterInterface; use Chill\PersonBundle\Export\Declarations; use Chill\ThirdPartyBundle\Entity\ThirdParty; use Chill\ThirdPartyBundle\Form\Type\PickThirdpartyDynamicType; +use Chill\ThirdPartyBundle\Repository\ThirdPartyRepository; use Chill\ThirdPartyBundle\Templating\Entity\ThirdPartyRender; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\QueryBuilder; @@ -22,10 +23,12 @@ use Symfony\Component\Form\FormBuilderInterface; final readonly class HandlingThirdPartyFilter implements FilterInterface { + use \Chill\MainBundle\Export\ExportDataNormalizerTrait; private const PREFIX = 'acpw_handling_3party_filter'; public function __construct( private ThirdPartyRender $thirdPartyRender, + private ThirdPartyRepository $thirdPartyRepository, ) {} public function getTitle() @@ -41,6 +44,21 @@ final readonly class HandlingThirdPartyFilter implements FilterInterface ]); } + public function getNormalizationVersion(): int + { + return 1; + } + + public function normalizeFormData(array $formData): array + { + return ['handling_3parties' => $this->normalizeDoctrineEntity($formData['handling_3parties'])]; + } + + public function denormalizeFormData(array $formData, int $fromVersion): array + { + return ['handling_3parties' => $this->denormalizeDoctrineEntity($formData['handling_3parties'], $this->thirdPartyRepository)]; + } + public function getFormDefaultData(): array { return ['handling_3parties' => []]; diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/NationalityFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/NationalityFilter.php index e6ac02c8b..06550eded 100644 --- a/src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/NationalityFilter.php +++ b/src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/NationalityFilter.php @@ -15,6 +15,7 @@ use Chill\MainBundle\Entity\Country; use Chill\MainBundle\Export\ExportElementValidatedInterface; use Chill\MainBundle\Export\FilterInterface; use Chill\MainBundle\Form\Type\Select2CountryType; +use Chill\MainBundle\Repository\CountryRepository; use Chill\MainBundle\Templating\TranslatableStringHelper; use Chill\PersonBundle\Export\Declarations; use Doctrine\ORM\Query\Expr; @@ -22,11 +23,13 @@ use Doctrine\ORM\QueryBuilder; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Context\ExecutionContextInterface; -class NationalityFilter implements +final readonly class NationalityFilter implements ExportElementValidatedInterface, FilterInterface { - public function __construct(private readonly TranslatableStringHelper $translatableStringHelper) {} + use \Chill\MainBundle\Export\ExportDataNormalizerTrait; + + public function __construct(private TranslatableStringHelper $translatableStringHelper, private CountryRepository $countryRepository) {} public function addRole(): ?string { @@ -60,6 +63,21 @@ class NationalityFilter implements ]); } + public function getNormalizationVersion(): int + { + return 1; + } + + public function normalizeFormData(array $formData): array + { + return ['nationalities' => $this->normalizeDoctrineEntity($formData['nationalities'])]; + } + + public function denormalizeFormData(array $formData, int $fromVersion): array + { + return ['nationalities' => $this->denormalizeDoctrineEntity($formData['nationalities'], $this->countryRepository)]; + } + public function getFormDefaultData(): array { return [];