From d0830079da1b1ed0a2a943ab83393519d7ffc8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 12 Apr 2023 18:17:48 +0200 Subject: [PATCH] DX: fix generation in test mode --- ...istActivitiesByAccompanyingPeriodContext.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Service/DocGenerator/ListActivitiesByAccompanyingPeriodContext.php b/src/Bundle/ChillActivityBundle/Service/DocGenerator/ListActivitiesByAccompanyingPeriodContext.php index e10ee3da4..266fadfee 100644 --- a/src/Bundle/ChillActivityBundle/Service/DocGenerator/ListActivitiesByAccompanyingPeriodContext.php +++ b/src/Bundle/ChillActivityBundle/Service/DocGenerator/ListActivitiesByAccompanyingPeriodContext.php @@ -36,11 +36,14 @@ use DateTime; use libphonenumber\PhoneNumber; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\FormBuilderInterface; -use Symfony\Component\Security\Core\Security; use Symfony\Component\Serializer\Normalizer\AbstractNormalizer; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use function in_array; +/** + * @implements DocGeneratorContextWithPublicFormInterface + * @implements DocGeneratorContextWithAdminFormInterface + */ class ListActivitiesByAccompanyingPeriodContext implements DocGeneratorContextWithAdminFormInterface, DocGeneratorContextWithPublicFormInterface @@ -132,13 +135,13 @@ class ListActivitiesByAccompanyingPeriodContext implements $normalized = $this->accompanyingPeriodContext->contextGenerationDataNormalize($template, $entity, $data); foreach (['myActivitiesOnly', 'myWorksOnly'] as $k) { - $normalized[$k] = null !== ($data[$k] ?? null) ? $data[$k] : false; + $normalized[$k] = $data[$k] ?? false; } return $normalized; } - public function filterActivitiesByUser(array $activities, User $user): array + private function filterActivitiesByUser(array $activities, User $user): array { return array_filter( $activities, @@ -151,7 +154,7 @@ class ListActivitiesByAccompanyingPeriodContext implements ); } - public function filterWorksByUser(array $works, User $user): array + private function filterWorksByUser(array $works, User $user): array { return array_filter( $works, @@ -165,14 +168,14 @@ class ListActivitiesByAccompanyingPeriodContext implements ); } - public function getData(DocGeneratorTemplate $template, $entity, array $contextGenerationData = []): array + public function getData(DocGeneratorTemplate $template, object $entity, array $contextGenerationData = []): array { $data = $this->accompanyingPeriodContext->getData($template, $entity, $contextGenerationData); $activities = $this->getActivitiesSimplified($entity); $myActivitiesOnly = $contextGenerationData['myActivitiesOnly']; - if ($myActivitiesOnly) { + if ($myActivitiesOnly && isset($contextGenerationData['creator'])) { $activities = $this->filterActivitiesByUser($activities, $contextGenerationData['creator']); } @@ -180,7 +183,7 @@ class ListActivitiesByAccompanyingPeriodContext implements $myWorksOnly = $contextGenerationData['myWorksOnly']; - if ($myWorksOnly) { + if ($myWorksOnly && isset($contextGenerationData['creator'])) { $data['course']['works'] = $this->filterWorksByUser($data['course']['works'], $contextGenerationData['creator']); } return $data;