Bug #61835
openCopying IRRE child records behaviour differs with certain TCA settings
0%
Description
Having a parent record, that has child records via TCA type inline with foreign_field usage in the parent record table, the child records get duplicated on copying a parent record (which I would call an expectable behaviour from the editors point of view):
'children' => array( 'exclude' => 0, 'label' => 'LLL:EXT:test/Resources/Private/Language/locallang_db.xlf:tx_test_domain_model_testparent.children', 'config' => array( 'type' => 'inline', 'foreign_table' => 'tx_test_domain_model_testchild', 'foreign_field' => 'testparent', 'maxitems' => 9999, 'appearance' => array( 'collapseAll' => 0, 'levelLinksPosition' => 'top', 'showSynchronizationLink' => 1, 'showPossibleLocalizationRecords' => 1, 'showAllLocalizationLink' => 1 ), ), ),
If this inline field is used without foreign_field, but with an MM table like in the following example, the child records do not get duplicated on copying the parent record. They are associated as references in sync with the original parent record. So if one edits a child record in the copy of the parent record, the child changes as well in the orignal parent record. This what I would not call an expected behaviour:
'children' => array( 'exclude' => 0, 'label' => 'LLL:EXT:test/Resources/Private/Language/locallang_db.xlf:tx_test_domain_model_testparent.children', 'config' => array( 'type' => 'inline', 'foreign_table' => 'tx_test_domain_model_testchild', 'MM' => 'tx_test_domain_model_testparent_children_mm', 'maxitems' => 9999, 'appearance' => array( 'collapseAll' => 0, 'levelLinksPosition' => 'top', 'showSynchronizationLink' => 1, 'showPossibleLocalizationRecords' => 1, 'showAllLocalizationLink' => 1 ), ), ),
So, to my mind there should be a unified and of course configurable behaviour in this aspect, rather than an unconfigurable and kind of random / unpredictable behavior.
See also:
http://stackoverflow.com/questions/17234135/typo3-copying-irre-child-records
Updated by Benni Mack over 4 years ago
- Status changed from New to Accepted
By definition (and in all our tests) - the relation of an "inline foreign field" means that it's cascading, where as "MM" relations (which could be editable from both sides) are loose relations. This could be streamlined, but just so you know - right now this is as is. I will keep the issue open as this hopefully might get addressed in the near future.
Updated by Mathias Brodala over 4 years ago
- Related to Feature #58611: TCA: Extending "behaviour" for IRRE fields with "disableCopyingChildrenWithParent" added