DX: fix generation in test mode

This commit is contained in:
Julien Fastré 2023-04-12 18:17:48 +02:00
parent 2a4b73457b
commit d0830079da
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB

View File

@ -36,11 +36,14 @@ use DateTime;
use libphonenumber\PhoneNumber; use libphonenumber\PhoneNumber;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer; use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
use function in_array; use function in_array;
/**
* @implements DocGeneratorContextWithPublicFormInterface<AccompanyingPeriod>
* @implements DocGeneratorContextWithAdminFormInterface<AccompanyingPeriod>
*/
class ListActivitiesByAccompanyingPeriodContext implements class ListActivitiesByAccompanyingPeriodContext implements
DocGeneratorContextWithAdminFormInterface, DocGeneratorContextWithAdminFormInterface,
DocGeneratorContextWithPublicFormInterface DocGeneratorContextWithPublicFormInterface
@ -132,13 +135,13 @@ class ListActivitiesByAccompanyingPeriodContext implements
$normalized = $this->accompanyingPeriodContext->contextGenerationDataNormalize($template, $entity, $data); $normalized = $this->accompanyingPeriodContext->contextGenerationDataNormalize($template, $entity, $data);
foreach (['myActivitiesOnly', 'myWorksOnly'] as $k) { foreach (['myActivitiesOnly', 'myWorksOnly'] as $k) {
$normalized[$k] = null !== ($data[$k] ?? null) ? $data[$k] : false; $normalized[$k] = $data[$k] ?? false;
} }
return $normalized; return $normalized;
} }
public function filterActivitiesByUser(array $activities, User $user): array private function filterActivitiesByUser(array $activities, User $user): array
{ {
return array_filter( return array_filter(
$activities, $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( return array_filter(
$works, $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); $data = $this->accompanyingPeriodContext->getData($template, $entity, $contextGenerationData);
$activities = $this->getActivitiesSimplified($entity); $activities = $this->getActivitiesSimplified($entity);
$myActivitiesOnly = $contextGenerationData['myActivitiesOnly']; $myActivitiesOnly = $contextGenerationData['myActivitiesOnly'];
if ($myActivitiesOnly) { if ($myActivitiesOnly && isset($contextGenerationData['creator'])) {
$activities = $this->filterActivitiesByUser($activities, $contextGenerationData['creator']); $activities = $this->filterActivitiesByUser($activities, $contextGenerationData['creator']);
} }
@ -180,7 +183,7 @@ class ListActivitiesByAccompanyingPeriodContext implements
$myWorksOnly = $contextGenerationData['myWorksOnly']; $myWorksOnly = $contextGenerationData['myWorksOnly'];
if ($myWorksOnly) { if ($myWorksOnly && isset($contextGenerationData['creator'])) {
$data['course']['works'] = $this->filterWorksByUser($data['course']['works'], $contextGenerationData['creator']); $data['course']['works'] = $this->filterWorksByUser($data['course']['works'], $contextGenerationData['creator']);
} }
return $data; return $data;