change FilterInterface::describeAction signature to include context

This commit is contained in:
2025-04-24 21:48:00 +02:00
parent 66c089e862
commit 176bff0551
116 changed files with 241 additions and 124 deletions

View File

@@ -14,6 +14,7 @@ namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Entity\ActivityType;
use Chill\ActivityBundle\Repository\ActivityTypeRepositoryInterface;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickRollingDateType;
use Chill\MainBundle\Service\RollingDate\RollingDateConverterInterface;
@@ -117,7 +118,7 @@ final readonly class ActivityTypeFilter implements FilterInterface
];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$types = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
use Chill\PersonBundle\Form\Type\PickSocialActionType;
@@ -75,7 +76,7 @@ class BySocialActionFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$actions = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
use Chill\PersonBundle\Form\Type\PickSocialIssueType;
@@ -75,7 +76,7 @@ class BySocialIssueFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$issues = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Entity\Activity;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\PersonBundle\Export\Declarations;
use Doctrine\ORM\QueryBuilder;
@@ -68,7 +69,7 @@ class HasNoActivityFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
return ['Filtered acp which has no activities', []];
}

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Entity\Activity;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickRollingDateType;
use Chill\MainBundle\Service\RollingDate\RollingDate;
@@ -64,7 +65,7 @@ final readonly class PeriodHavingActivityBetweenDatesFilter implements FilterInt
];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
return [
'export.filter.activity.course_having_activity_between_date.Only course having an activity between from and to',

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickRollingDateType;
use Chill\MainBundle\Service\RollingDate\RollingDate;
@@ -92,7 +93,7 @@ class ActivityDateFilter implements FilterInterface
return ['date_from' => new RollingDate(RollingDate::T_YEAR_PREVIOUS_START), 'date_to' => new RollingDate(RollingDate::T_TODAY)];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
return [
'Filtered by date of activity: only between %date_from% and %date_to%',

View File

@@ -14,6 +14,7 @@ namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Entity\ActivityPresence;
use Chill\ActivityBundle\Export\Declarations;
use Chill\ActivityBundle\Repository\ActivityPresenceRepositoryInterface;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
use Doctrine\Common\Collections\Collection;
@@ -69,7 +70,7 @@ final readonly class ActivityPresenceFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
$presences = array_map(
fn (ActivityPresence $presence) => $this->translatableStringHelper->localize($presence->getName()),

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\ActivityType;
use Chill\ActivityBundle\Export\Declarations;
use Chill\ActivityBundle\Repository\ActivityTypeRepositoryInterface;
use Chill\MainBundle\Export\ExportElementValidatedInterface;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
use Doctrine\ORM\QueryBuilder;
@@ -92,7 +93,7 @@ class ActivityTypeFilter implements ExportElementValidatedInterface, FilterInter
return [];
}
public function describeAction($data): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
// collect all the reasons'name used in this filter in one array
$reasonsNames = array_map(

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickUserDynamicType;
use Chill\MainBundle\Repository\UserRepositoryInterface;
@@ -75,7 +76,7 @@ final readonly class ActivityUsersFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
$users = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickUserDynamicType;
use Chill\MainBundle\Repository\UserRepositoryInterface;
@@ -71,7 +72,7 @@ class ByCreatorFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$users = [];

View File

@@ -14,6 +14,7 @@ namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Entity\User\UserJobHistory;
use Chill\MainBundle\Entity\UserJob;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Repository\UserJobRepositoryInterface;
use Chill\MainBundle\Templating\TranslatableStringHelper;
@@ -106,7 +107,7 @@ final readonly class CreatorJobFilter implements FilterInterface
return ['jobs' => $this->denormalizeDoctrineEntity($formData['jobs'], $this->userJobRepository)];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$jobs = array_map(
fn (UserJob $job) => $this->translatableStringHelper->localize($job->getLabel()),

View File

@@ -14,6 +14,7 @@ namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Entity\Scope;
use Chill\MainBundle\Entity\User\UserScopeHistory;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Repository\ScopeRepositoryInterface;
use Chill\MainBundle\Templating\TranslatableStringHelper;
@@ -102,7 +103,7 @@ class CreatorScopeFilter implements FilterInterface
return ['scopes' => $this->denormalizeDoctrineEntity($formData['scopes'], $this->scopeRepository)];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$scopes = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Doctrine\ORM\Query\Expr\Andx;
use Doctrine\ORM\QueryBuilder;
@@ -86,7 +87,7 @@ class EmergencyFilter implements FilterInterface
return ['accepted_emergency' => self::DEFAULT_CHOICE];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
return [
'Filtered by emergency: only %emergency%', [

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickUserLocationType;
use Chill\MainBundle\Repository\LocationRepository;
@@ -73,7 +74,7 @@ final readonly class LocationFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$locations = [];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickLocationTypeType;
use Chill\MainBundle\Templating\TranslatableStringHelper;
@@ -80,7 +81,7 @@ class LocationTypeFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$types = [];

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\ActivityReason;
use Chill\ActivityBundle\Export\Declarations;
use Chill\ActivityBundle\Repository\ActivityReasonRepository;
use Chill\MainBundle\Export\ExportElementValidatedInterface;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Templating\TranslatableStringHelper;
use Doctrine\Common\Collections\Collection;
@@ -92,7 +93,7 @@ class ActivityReasonFilter implements ExportElementValidatedInterface, FilterInt
return [];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
// collect all the reasons'name used in this filter in one array
$reasonsNames = array_map(

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Entity\ActivityReason;
use Chill\ActivityBundle\Repository\ActivityReasonRepository;
use Chill\MainBundle\Export\ExportElementValidatedInterface;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickRollingDateType;
use Chill\MainBundle\Service\RollingDate\RollingDate;
@@ -140,7 +141,7 @@ final readonly class PersonHavingActivityBetweenDateFilter implements ExportElem
];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
return [
[] === $data['reasons'] ?

View File

@@ -13,6 +13,7 @@ namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\ActivityBundle\Tests\Export\Filter\PersonsFilterTest;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\PersonBundle\Form\Type\PickPersonDynamicType;
use Chill\PersonBundle\Templating\Entity\PersonRenderInterface;
@@ -82,7 +83,7 @@ final readonly class PersonsFilter implements FilterInterface
];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
$users = [];

View File

@@ -13,6 +13,7 @@ namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Doctrine\ORM\Query\Expr\Andx;
use Doctrine\ORM\QueryBuilder;
@@ -88,7 +89,7 @@ class SentReceivedFilter implements FilterInterface
return ['accepted_sentreceived' => self::DEFAULT_CHOICE];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$sentreceived = array_flip(self::CHOICES)[$data['accepted_sentreceived']];

View File

@@ -12,6 +12,7 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Export\Filter;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Form\Type\PickUserDynamicType;
use Chill\MainBundle\Repository\UserRepositoryInterface;
@@ -80,7 +81,7 @@ final readonly class UserFilter implements FilterInterface
return [];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
$users = [];

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Entity\User\UserJobHistory;
use Chill\MainBundle\Entity\UserJob;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Repository\UserJobRepositoryInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
@@ -93,7 +94,7 @@ class UsersJobFilter implements FilterInterface
return ['jobs' => $this->denormalizeDoctrineEntity($formData['jobs'], $this->userJobRepository)];
}
public function describeAction($data, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): string|\Symfony\Contracts\Translation\TranslatableInterface|array
{
return ['export.filter.activity.by_users_job.Filtered activity by users job: only %jobs%', [
'%jobs%' => implode(

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Declarations;
use Chill\MainBundle\Entity\Scope;
use Chill\MainBundle\Entity\User\UserScopeHistory;
use Chill\MainBundle\Export\ExportGenerationContext;
use Chill\MainBundle\Export\FilterInterface;
use Chill\MainBundle\Repository\ScopeRepositoryInterface;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
@@ -93,7 +94,7 @@ class UsersScopeFilter implements FilterInterface
return ['scopes' => $this->denormalizeDoctrineEntity($formData['scopes'], $this->scopeRepository)];
}
public function describeAction($data, $format = 'string'): array
public function describeAction($data, ExportGenerationContext $context, $format = 'string'): array
{
return ['export.filter.activity.by_users_scope.Filtered activity by users scope: only %scopes%', [
'%scopes%' => implode(