Project

General

Profile

Actions

Bug #94056

closed

Task #86141: Remove superfluous database contraint in DataMapProcessor

Selecting wrong translation while synchronizeInlineRelations

Added by Alexander Opitz over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Should have
Category:
DataHandler aka TCEmain
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


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #80141: Add allowLanguageSynchronization chain resolvingClosedOliver Hader2017-03-04

Actions
Is duplicate of TYPO3 Core - Bug #91430: Unrelated tt_content associated to a news after translating itClosed2020-05-18

Actions
Actions

Also available in: Atom PDF