[BUGFIX] Allow processing of multiple new record localizations 71/52871/16
authorOliver Hader <oliver@typo3.org>
Tue, 13 Jun 2017 15:40:05 +0000 (17:40 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Wed, 14 Jun 2017 13:54:01 +0000 (15:54 +0200)
commitc32049af02447e849285dcaee337e418b2ade81f
tree28ac71d872bf6ac8e9231a5be33a7565e4a63494
parentb6482afe70199b406d1e017c7b614407076a45cd
[BUGFIX] Allow processing of multiple new record localizations

The current implementation of DataMapProcessor to determine the necessity
of synchronizing record localizations is too strict since it expects real
persisted database records and cannot resolve new records that have been
handed with the very same data-map to the DataHandler.

This mentioned constraint is resolved. Besides that, an additional value
processing for internal fields is added. This method resolves new record
ids to their real persisted UIDs using the famous remap stack. This only
is executed, if these fields have not been processed in a relation-aware
context and have a meaning to TYPO3 data-structures - for instance this
is the case for 'l10n_source' field defined as TCA type 'passthrough'.

Change-Id: Id1291910d85b3d314af7203314b8696a337fe364
Resolves: #80239
Releases: master, 8.7
Reviewed-on: https://review.typo3.org/52871
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
12 files changed:
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php
typo3/sysext/core/Classes/DataHandling/Localization/State.php
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/AbstractActionTestCase.php
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/ActionTest.php
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/DataSet/localizeParentContentNCreateNestedChildrenWLanguageSynchronization.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/DataSet/localizeParentContentSelectWSynchronization.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/AbstractActionTestCase.php
typo3/sysext/core/Tests/Functional/DataHandling/Regular/Modify/ActionTest.php
typo3/sysext/core/Tests/Functional/DataHandling/Regular/Modify/DataSet/createLocalizedContent.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/Modify/DataSet/createLocalizedContentWExclude.csv [new file with mode: 0644]
typo3/sysext/core/Tests/Functional/DataHandling/Regular/Modify/DataSet/createLocalizedContentWSynchronization.csv [new file with mode: 0644]