mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-07-12 03:46:16 +00:00
2.8 KiB
2.8 KiB
v4.0.0 - 2025-07-08
Feature
- (#359) Allow the merge of two accompanying period works
Fixed
- (#390) Display the list of participant in the results, even if there is only one participant and that the search result display the requestor
- Fix admin entity edit actions for event admin entities and activity reason (category) entities
- Fix translations for social action fields in admin form: results, goals, evaluations
DX
-
Rewrite exports to run them asynchronously
Schema Change: Add columns or tables
-
Allow TranslatableMessage in flash messages
UX
- Improve labeling of fields in person resource creation form
Release notes
-
Add new methods to serialize data using the rector rule
-
Remove all references to the Request in filters, aggregators, filters. Actually, the most frequent occurence is
$security->getUser()
. -
Refactor manually the initializeQuery method
-
Remove the injection of ExportManager into the constructor of each export element:
- class MyFormatter implements FormatterInterface + class MyFormatter implements FormatterInterface, \Chill\MainBundle\Export\ExportManagerAwareInterface { + use \Chill\MainBundle\Export\Helper\ExportManagerAwareTrait; - public function __construct(private ExportManager $exportmanager) {} public function MyMethod(): void { - $this->exportManager->getFilter('alias'); + $this->getExportManager()->getFilter('alias'); } }
-
configure messenger to handle export in a queue:
# config/packages/messenger.yaml
framework:
messenger:
routing:
+ 'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority
-
add missing methods to exports, aggregators, filters, formatter:
public function normalizeFormData(array $formData): array; public function denormalizeFormData(array $formData, int $fromVersion): array;
There are rector rules to generate those methods:
Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector
See:
// upgrade chill exports $rectorConfig->rules([\Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector::class]);
This rule will create most of the work necessary, but some manuals changes are still necessary:
- we must set manually the correct repository for method
denormalizeDoctrineEntity
; - when the form data contains some entities, and the form type is not one of EntityType::class, PickUserDynamicType::class, PickUserLocationType::class, PickThirdpartyDynamicType::class, Select2CountryType::class, then we must handle the normalization manually (using the
\Chill\MainBundle\Export\ExportDataNormalizerTrait
)