Merge branch 'master' into migrate_to_sf72

# Conflicts:
#	docs/source/_static/code/exports/BirthdateFilter.php
#	rector.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/ByActivityTypeAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/BySocialActionAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ACPAggregators/BySocialIssueAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityLocationAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityPresenceAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityReasonAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityTypeAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUserAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersJobAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ActivityUsersScopeAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ByCreatorAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/ByThirdpartyAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/CreatorJobAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/CreatorScopeAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/DateAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/LocationTypeAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/PersonAggregators/HouseholdAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/PersonAggregators/PersonAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Aggregator/PersonsAggregator.php
#	src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/SumActivityDuration.php
#	src/Bundle/ChillActivityBundle/Export/Export/LinkedToACP/SumActivityVisitDuration.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/ActivityTypeFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/BySocialActionFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/BySocialIssueFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/HasNoActivityFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/PeriodHavingActivityBetweenDatesFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ActivityDateFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ActivityPresenceFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ActivityTypeFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ActivityUsersFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/ByCreatorFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/CreatorJobFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/CreatorScopeFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/EmergencyFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/LocationFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/LocationTypeFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/PersonFilters/ActivityReasonFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/PersonsFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/SentReceivedFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/UserFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/UsersJobFilter.php
#	src/Bundle/ChillActivityBundle/Export/Filter/UsersScopeFilter.php
#	src/Bundle/ChillActivityBundle/Validator/Constraints/ActivityValidity.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByActivityTypeAggregator.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByUserJobAggregator.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByUserScopeAggregator.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByActivityTypeFilter.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByDateFilter.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByUserFilter.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByUserJobFilter.php
#	src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByUserScopeFilter.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/AgentAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/CancelReasonAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/JobAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/LocationAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/LocationTypeAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/MonthYearAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/ScopeAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Aggregator/UrgencyAggregator.php
#	src/Bundle/ChillCalendarBundle/Export/Filter/AgentFilter.php
#	src/Bundle/ChillCalendarBundle/Export/Filter/BetweenDatesFilter.php
#	src/Bundle/ChillCalendarBundle/Export/Filter/CalendarRangeFilter.php
#	src/Bundle/ChillCalendarBundle/Export/Filter/JobFilter.php
#	src/Bundle/ChillCalendarBundle/Export/Filter/ScopeFilter.php
#	src/Bundle/ChillEventBundle/Export/Aggregator/EventDateAggregator.php
#	src/Bundle/ChillEventBundle/Export/Aggregator/EventTypeAggregator.php
#	src/Bundle/ChillEventBundle/Export/Aggregator/RoleAggregator.php
#	src/Bundle/ChillEventBundle/Export/Filter/EventDateFilter.php
#	src/Bundle/ChillEventBundle/Export/Filter/EventTypeFilter.php
#	src/Bundle/ChillEventBundle/Export/Filter/RoleFilter.php
#	src/Bundle/ChillMainBundle/Controller/ExportController.php
#	src/Bundle/ChillMainBundle/Controller/SavedExportController.php
#	src/Bundle/ChillMainBundle/DependencyInjection/CompilerPass/ExportsCompilerPass.php
#	src/Bundle/ChillMainBundle/Entity/Notification.php
#	src/Bundle/ChillMainBundle/Export/ExportManager.php
#	src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php
#	src/Bundle/ChillMainBundle/Export/Formatter/CSVListFormatter.php
#	src/Bundle/ChillMainBundle/Export/Formatter/CSVPivotedListFormatter.php
#	src/Bundle/ChillMainBundle/Export/Formatter/SpreadSheetFormatter.php
#	src/Bundle/ChillMainBundle/Export/Formatter/SpreadsheetListFormatter.php
#	src/Bundle/ChillMainBundle/Form/SavedExportType.php
#	src/Bundle/ChillMainBundle/Form/Type/DataTransformer/EntityToJsonTransformer.php
#	src/Bundle/ChillMainBundle/Tests/Export/ExportManagerTest.php
#	src/Bundle/ChillMainBundle/Tests/Export/SortExportElementTest.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/AdministrativeLocationAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ClosingDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ClosingMotiveAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ConfidentialAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/CreatorJobAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/DurationAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/EmergencyAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/EvaluationAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/GeographicalUnitStatAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/IntensityAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/JobWorkingOnCourseAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/OpeningDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/OriginAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/PersonParticipatingAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ReferrerAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ReferrerScopeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/RequestorAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ScopeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/ScopeWorkingOnCourseAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/SocialActionAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/SocialIssueAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/StepAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/UserJobAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingCourseAggregators/UserWorkingOnCourseAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingPeriodStepHistoryAggregators/ByClosingMotiveAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingPeriodStepHistoryAggregators/ByDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/AccompanyingPeriodStepHistoryAggregators/ByStepAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByEndDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByMaxDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByStartDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/EvaluationTypeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/HavingEndDateAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/HouseholdAggregators/ChildrenNumberAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/HouseholdAggregators/CompositionAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/AdministrativeStatusAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/AgeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/ByHouseholdCompositionAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/CenterAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/EmploymentStatusAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/GenderAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/HouseholdPositionAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/MaritalStatusAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/NationalityAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/PersonAggregators/PostalCodeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/ActionTypeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CreatorAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CreatorJobAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CreatorScopeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/GoalAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/GoalResultAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/HandlingThirdPartyAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/JobAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/ReferrerAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/ResultAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/ScopeAggregator.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ActiveOnDateFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ActiveOneDayBetweenDatesFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/AdministrativeLocationFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ClosingMotiveFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ConfidentialFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/CreatorFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/CreatorJobFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/EmergencyFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/EvaluationFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/GeographicalUnitStatFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HandlingThirdPartyFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HasNoReferrerFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/HasTemporaryLocationFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/IntensityFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/NotAssociatedWithAReferenceAddressFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/OpenBetweenDatesFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/OriginFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ReferrerFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/ReferrerFilterBetweenDates.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/RequestorFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/SocialActionFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/SocialIssueFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/StepFilterBetweenDates.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/StepFilterOnDate.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingCourseFilters/UserJobFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingPeriodStepHistoryFilters/ByDateFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/AccompanyingPeriodStepHistoryFilters/ByStepFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/EvaluationTypeFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/MaxDateFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/AddressRefStatusFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/AgeFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/BirthdateFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/ByHouseholdCompositionFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/DeadOrAliveFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/DeathdateFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/GenderFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/GeographicalUnitFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/MaritalStatusFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/NationalityFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/ResidentialAddressAtThirdpartyFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/ResidentialAddressAtUserFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/WithParticipationBetweenDatesFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/WithoutHouseholdComposition.php
#	src/Bundle/ChillPersonBundle/Export/Filter/PersonFilters/WithoutParticipationBetweenDatesFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CreatorFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CreatorJobFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CreatorScopeFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/JobFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/ReferrerFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/ScopeFilter.php
#	src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/SocialWorkTypeFilter.php
#	src/Bundle/ChillPersonBundle/Export/Helper/FilterListAccompanyingPeriodHelper.php
#	src/Bundle/ChillPersonBundle/Security/Authorization/AccompanyingPeriodVoter.php
#	src/Bundle/ChillPersonBundle/Tests/Export/Export/ListAccompanyingPeriodTest.php
#	src/Bundle/ChillPersonBundle/Validator/Constraints/AccompanyingPeriod/AccompanyingPeriodValidity.php
#	src/Bundle/ChillPersonBundle/Validator/Constraints/AccompanyingPeriod/ConfidentialCourseMustHaveReferrer.php
#	src/Bundle/ChillPersonBundle/Validator/Constraints/AccompanyingPeriod/LocationValidity.php
#	src/Bundle/ChillPersonBundle/Validator/Constraints/Household/MaxHolder.php
#	src/Bundle/ChillReportBundle/Export/Export/ReportList.php
#	src/Bundle/ChillReportBundle/Export/Filter/ReportDateFilter.php
This commit is contained in:
2025-08-04 16:57:45 +02:00
533 changed files with 17191 additions and 3467 deletions

View File

@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\PersonBundle\Form;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Chill\PersonBundle\Form\Type\PickLinkedAccompanyingPeriodWorkType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class FindAccompanyingPeriodWorkType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('acpw', PickLinkedAccompanyingPeriodWorkType::class, [
'label' => 'Social action',
'multiple' => false,
'accompanyingPeriod' => $options['accompanyingPeriod'],
])
->add('direction', HiddenType::class, [
'data' => 'starting',
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver
->setRequired('accompanyingPeriod')
->setAllowedTypes('accompanyingPeriod', AccompanyingPeriod::class);
}
}

View File

@@ -25,21 +25,14 @@ use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
* Class SocialActionType.
*/
class SocialActionType extends AbstractType
{
/**
* @var TranslatableStringHelper
*/
protected $translatableStringHelper;
public function __construct(TranslatableStringHelper $translatableStringHelper)
{
$this->translatableStringHelper = $translatableStringHelper;
}
public function __construct(private readonly TranslatableStringHelper $translatableStringHelper, private readonly TranslatorInterface $translator) {}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
@@ -64,6 +57,7 @@ class SocialActionType extends AbstractType
->add('results', EntityType::class, [
'class' => Result::class,
'required' => false,
'label' => $this->translator->trans('person_admin.social_result'),
'multiple' => true,
'attr' => ['class' => 'select2'],
'choice_label' => fn (Result $r) => $this->translatableStringHelper->localize($r->getTitle()),
@@ -74,6 +68,7 @@ class SocialActionType extends AbstractType
'required' => false,
'multiple' => true,
'attr' => ['class' => 'select2'],
'label' => $this->translator->trans('person_admin.social_goal'),
'choice_label' => fn (Goal $g) => $this->translatableStringHelper->localize($g->getTitle()),
])
@@ -82,6 +77,7 @@ class SocialActionType extends AbstractType
'required' => false,
'multiple' => true,
'attr' => ['class' => 'select2'],
'label' => $this->translator->trans('person_admin.social_evaluation'),
'choice_label' => fn (Evaluation $e) => $this->translatableStringHelper->localize($e->getTitle()),
])

View File

@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\PersonBundle\Form\Type;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolver;
class PickLinkedAccompanyingPeriodWorkType extends AbstractType
{
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['multiple'] = $options['multiple'];
$view->vars['types'] = ['acpw'];
$view->vars['uniqid'] = uniqid('pick_acpw_dyn');
$view->vars['as_id'] = true === $options['as_id'] ? '1' : '0';
$view->vars['submit_on_adding_new_entity'] = false;
$view->vars['pick-entities-type'] = 'acpw';
$view->vars['attr']['data-accompanying-period-id'] = $options['accompanyingPeriod']->getId();
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver
->setRequired('accompanyingPeriod')
->setAllowedTypes('accompanyingPeriod', [AccompanyingPeriod::class])
->setDefault('multiple', false)
->setAllowedTypes('multiple', ['bool'])
->setDefault('compound', false)
->setDefault('as_id', false)
->setAllowedTypes('as_id', ['bool'])
->setDefault('submit_on_adding_new_entity', false)
->setAllowedTypes('submit_on_adding_new_entity', ['bool']);
}
public function getBlockPrefix()
{
return 'pick_linked_entities';
}
}

View File

@@ -16,6 +16,7 @@ use Chill\PersonBundle\Repository\SocialWork\SocialActionRepository;
use Chill\PersonBundle\Templating\Entity\SocialActionRender;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolver;
class PickSocialActionType extends AbstractType
@@ -28,14 +29,23 @@ class PickSocialActionType extends AbstractType
->setDefaults([
'class' => SocialAction::class,
'choices' => $this->actionRepository->findAllActive(),
'choice_label' => fn (SocialAction $sa) => $this->actionRender->renderString($sa, []),
'placeholder' => 'Pick a social action',
'required' => false,
'attr' => ['class' => 'select2'],
'label' => 'Social actions',
'multiple' => false,
'show_social_issue_parenthesis' => false,
'show_deactivated' => false,
])
->setAllowedTypes('multiple', ['bool']);
->setNormalizer('choice_label', fn (Options $options, $value) => fn (SocialAction $sa) => $this->actionRender->renderString(
$sa,
[
SocialActionRender::SHOW_SOCIAL_ISSUE => $options['show_social_issue_parenthesis'],
SocialActionRender::SHOW_DEACTIVATED => $options['show_deactivated'],
]
))
->setAllowedTypes('multiple', ['bool'])
->setAllowedTypes('show_social_issue_parenthesis', ['bool']);
}
public function getParent(): string