[BUGFIX] Allow processing of multiple new record localizations 11/53211/2
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 15:23:35 +0000 (17:23 +0200)
commitb1633c4bca4720e8d1afe2b99e8f928784c33f30
tree4520de9aaf68a7686e346c8de577fec4c95e8561
parent51d227a2d8b82d038282facc112776131fbdb1d3
[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
Reviewed-on: https://review.typo3.org/53211
Tested-by: TYPO3com <no-reply@typo3.com>
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]