Actions
Bug #94056
closedTask #86141: Remove superfluous database contraint in DataMapProcessor
Selecting wrong translation while synchronizeInlineRelations
Status:
Closed
Priority:
Should have
Assignee:
Category:
DataHandler aka TCEmain
Target version:
Start date:
2021-05-04
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
In #80141 add allowLanguageSynchronization chain resolving the synchronization of languages was introduced, which have a small issue on InlineRelations, which leads to wrong content in translations inline relation.
The code in question is
TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::resolveAncestorId()
if (
!empty($fieldNames['source'])
&& $element[$fieldNames['source']] !== $element[$fieldNames['parent']]
) {
return (int)$fieldNames['source'];
}
First, here we return the integer representation of the field name for the source field but we liked to return the ID which is inside the source field.
Second, we do not check if we return the integer 0, which may later select completely wrong records while synchronizeInlineRelations
Actions