mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
Feature: allow filtering for users in the public form for docgen acc course
This commit is contained in:
parent
5bba1aca93
commit
1167ff25b1
@ -103,6 +103,21 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
{
|
{
|
||||||
$this->accompanyingPeriodContext->buildAdminForm($builder);
|
$this->accompanyingPeriodContext->buildAdminForm($builder);
|
||||||
|
|
||||||
|
// $builder
|
||||||
|
// ->add('myActivitiesOnly', CheckboxType::class, [
|
||||||
|
// 'required' => false,
|
||||||
|
// 'label' => 'docgen.myActivitiesOnly',
|
||||||
|
// ])
|
||||||
|
// ->add('myWorksOnly', CheckboxType::class, [
|
||||||
|
// 'required' => false,
|
||||||
|
// 'label' => 'docgen.myWorksOnly',
|
||||||
|
// ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function buildPublicForm(FormBuilderInterface $builder, DocGeneratorTemplate $template, $entity): void
|
||||||
|
{
|
||||||
|
$this->accompanyingPeriodContext->buildPublicForm($builder, $template, $entity);
|
||||||
|
|
||||||
$builder
|
$builder
|
||||||
->add('myActivitiesOnly', CheckboxType::class, [
|
->add('myActivitiesOnly', CheckboxType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
@ -114,11 +129,6 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildPublicForm(FormBuilderInterface $builder, DocGeneratorTemplate $template, $entity): void
|
|
||||||
{
|
|
||||||
$this->accompanyingPeriodContext->buildPublicForm($builder, $template, $entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function contextGenerationDataDenormalize(DocGeneratorTemplate $template, $entity, array $data): array
|
public function contextGenerationDataDenormalize(DocGeneratorTemplate $template, $entity, array $data): array
|
||||||
{
|
{
|
||||||
return $this->accompanyingPeriodContext->contextGenerationDataDenormalize($template, $entity, $data);
|
return $this->accompanyingPeriodContext->contextGenerationDataDenormalize($template, $entity, $data);
|
||||||
@ -126,7 +136,12 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
|
|
||||||
public function contextGenerationDataNormalize(DocGeneratorTemplate $template, $entity, array $data): array
|
public function contextGenerationDataNormalize(DocGeneratorTemplate $template, $entity, array $data): array
|
||||||
{
|
{
|
||||||
return $this->accompanyingPeriodContext->contextGenerationDataNormalize($template, $entity, $data);
|
$normalized = $this->accompanyingPeriodContext->contextGenerationDataNormalize($template, $entity, $data);
|
||||||
|
foreach (['myActivitiesOnly', 'myWorksOnly'] as $k) {
|
||||||
|
$normalized[$k] = null !== ($data[$k] ?? null) ? $data[$k] : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $normalized;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function filterActivitiesByCurrentUser(array $activities): array
|
public function filterActivitiesByCurrentUser(array $activities): array
|
||||||
@ -163,7 +178,7 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
|
|
||||||
$activities = $this->getActivitiesSimplified($entity);
|
$activities = $this->getActivitiesSimplified($entity);
|
||||||
|
|
||||||
$myActivitiesOnly = $template->getOptions()['myActivitiesOnly'];
|
$myActivitiesOnly = $contextGenerationData['myActivitiesOnly'];
|
||||||
|
|
||||||
if ($myActivitiesOnly) {
|
if ($myActivitiesOnly) {
|
||||||
$activities = $this->filterActivitiesByCurrentUser($activities);
|
$activities = $this->filterActivitiesByCurrentUser($activities);
|
||||||
@ -171,12 +186,11 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
|
|
||||||
$data['activities'] = $activities;
|
$data['activities'] = $activities;
|
||||||
|
|
||||||
$myWorksOnly = $template->getOptions()['myWorksOnly'];
|
$myWorksOnly = $contextGenerationData['myWorksOnly'];
|
||||||
|
|
||||||
if ($myWorksOnly) {
|
if ($myWorksOnly) {
|
||||||
$data['course']['works'] = $this->filterWorksByCurrentUser($data['course']['works']);
|
$data['course']['works'] = $this->filterWorksByCurrentUser($data['course']['works']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,7 +226,7 @@ class ListActivitiesByAccompanyingPeriodContext implements
|
|||||||
|
|
||||||
public function hasPublicForm(DocGeneratorTemplate $template, $entity): bool
|
public function hasPublicForm(DocGeneratorTemplate $template, $entity): bool
|
||||||
{
|
{
|
||||||
return $this->accompanyingPeriodContext->hasPublicForm($template, $entity);
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function storeGenerated(DocGeneratorTemplate $template, StoredObject $storedObject, object $entity, array $contextGenerationData): void
|
public function storeGenerated(DocGeneratorTemplate $template, StoredObject $storedObject, object $entity, array $contextGenerationData): void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user