Project

General

Profile

Actions

Bug #79746

closed

Copying a record with translation and IRRE relation fails

Added by Susanne Moog almost 8 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2017-02-10
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
8
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
No
Sprint Focus:
Stabilization Sprint

Description

Scenario:
- We have a page
- That page has some (non-FAL) IRRE relations
- That page has a translation
- Update to master
- Copy and paste via page tree
- Exception:

Argument 1 passed to TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder::in() must be of the type string, null given, called in /my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php on line 663 

TypeError thrown in file
/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/Database/Query/Expression/ExpressionBuilder.php in line 243.

23 TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder::in(NULL, ":dcValue1")

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00661:             $queryBuilder->expr()->in(
00662:                 $fieldNames['parent'],
00663:                 $queryBuilder->createNamedParameter($ids, Connection::PARAM_INT_ARRAY)
00664:             )
00665:         ];

22 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::fetchDependentElements("tx_my_irre_relation_table", array, array)

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00624:         }
00625: 
00626:         $dependentElements = $this->fetchDependentElements($tableName, $ids, $fieldNames);
00627: 
00628:         $dependentIdMap = [];

21 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::fetchDependentIdMap("tx_my_irre_relation_table", array)

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00433:         // The dependent ID map points from language parent/source record to
00434:         // localization, thus keys: parents/sources & values: localizations
00435:         $dependentIdMap = $this->fetchDependentIdMap($foreignTableName, $suggestedAncestorIds);
00436:         // filter incomplete structures - this is a drawback of DataHandler's remap stack, since
00437:         // just created IRRE translations still belong to the language parent - filter them out

20 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::synchronizeInlineRelations(TYPO3\CMS\Core\DataHandling\Localization\DataMapItem, "my_irre_relation", array, array)

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00323:         // inline relational values
00324:         } else {
00325:             $this->synchronizeInlineRelations($item, $fieldName, $fromRecord, $forRecord);
00326:         }
00327:     }

19 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::synchronizeFieldValues(TYPO3\CMS\Core\DataHandling\Localization\DataMapItem, "my_irre_relation", array, array)

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00235:         }
00236:         foreach ($fieldNames as $fieldName) {
00237:             $this->synchronizeFieldValues(
00238:                 $item,
00239:                 $fieldName,

18 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::synchronizeTranslationItem(TYPO3\CMS\Core\DataHandling\Localization\DataMapItem, array, 345)

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00177:                     $fromId = $item->getIdForScope($scope);
00178:                     $fieldNames = $this->getFieldNamesForItemScope($item, $scope, !$item->isNew());
00179:                     $this->synchronizeTranslationItem($item, $fieldNames, $fromId);
00180:                 }
00181:                 $this->populateTranslationItem($item);

17 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::enrich()

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:
00094:         }
00095:         $this->sanitize();
00096:         $this->enrich();
00097:         return $this->dataMap;
00098:     }

16 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::process()

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/DataHandler.php:
00982:         }
00983:         // Pre-process data-map and synchronize localization states
00984:         $this->datamap = DataMapProcessor::instance($this->datamap, $this->BE_USER)->process();
00985:         // Organize tables so that the pages-table is always processed first. This is required if you want to make sure that content pointing to a new page will be created.
00986:         $orderOfTables = [];

15 TYPO3\CMS\Core\DataHandling\DataHandler::process_datamap()

/my-superb-website/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/DataHandler.php:
03395:         $copyTCE = $this->getLocalTCE();
03396:         $copyTCE->start($data, '', $this->BE_USER);
03397:         $copyTCE->process_datamap();
03398:         // Getting the new UID:
03399:         $theNewSQLID = $copyTCE->substNEWwithIDs[$theNewID];

14 TYPO3\CMS\Core\DataHandling\DataHandler::copyRecord("pages_language_overlay", 4, "345", boolean, array)

Actions #1

Updated by Susanne Moog almost 8 years ago

  • PHP Version set to 7.0
  • Sprint Focus set to Stabilization Sprint
Actions #2

Updated by Oliver Hader almost 8 years ago

  • Assignee set to Oliver Hader
Actions #3

Updated by Oliver Hader almost 8 years ago

It looks like the IRRE children cannot be translated (not having a parent language pointer field) - is that assumption correct?

Actions #4

Updated by Oliver Hader almost 8 years ago

  • Subject changed from Error on copying page with translation and IRRE relation to Copying a record with translation and IRRE relation fails
Actions #5

Updated by Gerrit Code Review almost 8 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/51631

Actions #6

Updated by Gerrit Code Review almost 8 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/51631

Actions #7

Updated by Oliver Hader almost 8 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #8

Updated by Benni Mack about 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF