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 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<AccompanyingPeriod>
* @implements DocGeneratorContextWithAdminFormInterface<AccompanyingPeriod>
*/
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;