From 5f6c11bde9ac1006c5b187c29f4c33ce0a44021b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 11 Jul 2022 19:56:59 +0200 Subject: [PATCH] Feature: show comment in #docgen generation for accompanying periods --- .../Entity/AccompanyingPeriod/Comment.php | 8 ++++---- .../Normalizer/AccompanyingPeriodDocGenNormalizer.php | 4 ++++ .../Normalizer/AccompanyingPeriodDocGenNormalizerTest.php | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/Comment.php b/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/Comment.php index 1fe398290..595ffa35f 100644 --- a/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/Comment.php +++ b/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/Comment.php @@ -40,7 +40,7 @@ class Comment implements TrackCreationInterface, TrackUpdateInterface /** * @ORM\Column(type="text") - * @Groups({"read", "write"}) + * @Groups({"read", "write", "docgen:read"}) * @Assert\NotBlank * @Assert\NotNull */ @@ -48,14 +48,14 @@ class Comment implements TrackCreationInterface, TrackUpdateInterface /** * @ORM\Column(type="datetime") - * @Groups({"read"}) + * @Groups({"read", "docgen:read"}) */ private $createdAt; /** * @ORM\ManyToOne(targetEntity=User::class) * @ORM\JoinColumn(nullable=false) - * @Groups({"read"}) + * @Groups({"read", "docgen:read"}) */ private $creator; @@ -63,7 +63,7 @@ class Comment implements TrackCreationInterface, TrackUpdateInterface * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") - * @Groups({"read"}) + * @Groups({"read", "docgen:read"}) */ private $id; diff --git a/src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php b/src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php index 86deda604..0a00b4000 100644 --- a/src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php +++ b/src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php @@ -71,6 +71,7 @@ class AccompanyingPeriodDocGenNormalizer implements ContextAwareNormalizerInterf 'location' => Address::class, 'locationPerson' => Person::class, 'administrativeLocation' => Location::class, + 'pinnedComment' => AccompanyingPeriod\Comment::class, ]; private ClosingMotiveRender $closingMotiveRender; @@ -164,6 +165,8 @@ class AccompanyingPeriodDocGenNormalizer implements ContextAwareNormalizerInterf 'location' => $this->normalizer->normalize($period->getLocation(), $format, $addressContext), 'administrativeLocation' => $this->normalizer->normalize($period->getAdministrativeLocation(), $format, $administrativeLocationContext), 'works' => $this->normalizer->normalize($period->getWorks(), $format, $workContext), + 'comments' => $this->normalizer->normalize($period->getComments(), $format, array_merge($context, ['docgen:expects' => AccompanyingPeriod\Comment::class])), + 'pinnedComment' => $this->normalizer->normalize($period->getPinnedComment(), $format, array_merge($context, ['docgen:expects' => AccompanyingPeriod\Comment::class])), ]; } @@ -183,6 +186,7 @@ class AccompanyingPeriodDocGenNormalizer implements ContextAwareNormalizerInterf 'hasLocationPerson' => false, 'hasAdministrativeLocation' => false, 'works' => [], + 'comments' => [], ] ); } diff --git a/src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizerTest.php b/src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizerTest.php index c42dc9a5a..7e6330988 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizerTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizerTest.php @@ -68,6 +68,8 @@ final class AccompanyingPeriodDocGenNormalizerTest extends KernelTestCase 'closingMotive' => '@ignored', 'confidential' => true, 'confidentialText' => 'confidentiel', + 'comments' => '@ignored', + 'pinnedComment' => '@ignored', 'createdAt' => '@ignored', 'createdBy' => '@ignored', 'emergency' => true,