diff --git a/typo3/sysext/core/Classes/Migrations/TcaMigration.php b/typo3/sysext/core/Classes/Migrations/TcaMigration.php index 96e7b9f1d41c12640425c2efe315860efcf05882..ff2e4e2c715b12babe0c9ebc718a4bf165761a28 100644 --- a/typo3/sysext/core/Classes/Migrations/TcaMigration.php +++ b/typo3/sysext/core/Classes/Migrations/TcaMigration.php @@ -53,6 +53,7 @@ class TcaMigration $tca = $this->removeSetToDefaultOnCopy($tca); $tca = $this->sanitizeControlSectionIntegrity($tca); $tca = $this->removeEnableMultiSelectFilterTextfieldConfiguration($tca); + $tca = $this->removeExcludeFieldForTransOrigPointerField($tca); return $tca; } @@ -272,4 +273,27 @@ class TcaMigration } return $tca; } + + /** + * Removes $TCA[$mytable][columns][_transOrigPointerField_][exclude] if defined + * + * @param array $tca + * + * @return array + */ + protected function removeExcludeFieldForTransOrigPointerField(array $tca): array + { + foreach ($tca as $table => &$configuration) { + if (isset($configuration['ctrl']['transOrigPointerField'], + $configuration['columns'][$configuration['ctrl']['transOrigPointerField']]['exclude']) + ) { + $this->messages[] = 'The \'' . $table . '\' TCA tables transOrigPointerField ' + . '\'' . $configuration['ctrl']['transOrigPointerField'] . '\' is defined ' + . ' as excluded field which is no longer needed and should therefore be removed. '; + unset($configuration['columns'][$configuration['ctrl']['transOrigPointerField']]['exclude']); + } + } + + return $tca; + } } diff --git a/typo3/sysext/core/Configuration/TCA/pages.php b/typo3/sysext/core/Configuration/TCA/pages.php index d4be891b22a1b9b923fc1a4513eddfb2e3a543a5..512fbedb2a11b9a7bcfc49aa6662fa579a895aa0 100644 --- a/typo3/sysext/core/Configuration/TCA/pages.php +++ b/typo3/sysext/core/Configuration/TCA/pages.php @@ -257,7 +257,6 @@ return [ ] ], 'l10n_parent' => [ - 'exclude' => true, 'displayCond' => 'FIELD:sys_language_uid:>:0', 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ diff --git a/typo3/sysext/core/Configuration/TCA/sys_category.php b/typo3/sysext/core/Configuration/TCA/sys_category.php index a3a1cec2b6e30459f70da9e04204a2cd1e0bd682..844e4c7ac3f17b9505fd3742a024143a5e33389d 100644 --- a/typo3/sysext/core/Configuration/TCA/sys_category.php +++ b/typo3/sysext/core/Configuration/TCA/sys_category.php @@ -73,7 +73,6 @@ return [ ], 'l10n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Configuration/TCA/sys_collection.php b/typo3/sysext/core/Configuration/TCA/sys_collection.php index 55341c85a50ca639481ad4f2c1179fa0bc216204..1606b1430e24e12be1cf84ddfb0aaeeb0c0f5e08 100644 --- a/typo3/sysext/core/Configuration/TCA/sys_collection.php +++ b/typo3/sysext/core/Configuration/TCA/sys_collection.php @@ -55,7 +55,6 @@ return [ ], 'l10n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Configuration/TCA/sys_file_collection.php b/typo3/sysext/core/Configuration/TCA/sys_file_collection.php index a2baca1105a83b5a1911a0cbc230bdfce53adc8f..2a58366ba33ade5a729cd482f634c189e93e58b2 100644 --- a/typo3/sysext/core/Configuration/TCA/sys_file_collection.php +++ b/typo3/sysext/core/Configuration/TCA/sys_file_collection.php @@ -53,7 +53,6 @@ return [ ], 'l10n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Documentation/Changelog/master/Important-89672-TransOrigPointerFieldIsNotLongerAllowedToBeExcluded.rst b/typo3/sysext/core/Documentation/Changelog/master/Important-89672-TransOrigPointerFieldIsNotLongerAllowedToBeExcluded.rst new file mode 100644 index 0000000000000000000000000000000000000000..92eed1182a20853fe2f256eaed0cbaf4d9189f9c --- /dev/null +++ b/typo3/sysext/core/Documentation/Changelog/master/Important-89672-TransOrigPointerFieldIsNotLongerAllowedToBeExcluded.rst @@ -0,0 +1,21 @@ +.. include:: ../../Includes.txt + +============================================================================== +Important: #89672 - transOrigPointerField is not longer allowed to be excluded +============================================================================== + +See :issue:`89672` + +Description +=========== + +The configured :php:`$GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField']` +can now not longer be excluded as this leads to inconsistent data stored in the +database. This happens when a non-admin user creates a localization by not having +the permission to edit the `transOrigPointerField`. Usually this is the +`l10n_parent` or `l18n_parent` field. + +A migration wizard is available that removes the option from your TCA and adds a +deprecation message to the deprecation log where code adaption has to take place. + +.. index:: Backend, Database, TCA, ext:core diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php index 1909fb0d069e9de0cb9ecc99ea2bccaaa44e4e93..58609817896d85e3924d67bf0af2f4642dcbf789 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_hotel.php @@ -40,7 +40,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php index 578668129f592e6ed24bf76477c5369c354fa195..748743ec80225394370d51ec74aaa12212873b9c 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_offer.php @@ -40,7 +40,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php index 3c33f197eb31210587ce2bd2b36bf7816c5ff7c8..b50a0073d4d726be146cd1735bbe196c4e86b5d3 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1ncsv_price.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php index aba431146f86f78b0b42a34cfc620b42372927de..966647f9b0602a70a3b406c6898aea28b8dc923e 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_hotel.php @@ -41,7 +41,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php index 325322d44844c1374214c489f7ce35556938617e..9f9e91534bfbc9ecb877a111ea987f97b6b72e18 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_offer.php @@ -41,7 +41,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php index 4febefdb0bd45d516ab03a3c8ff297c425e0b56b..14ea023fc66d3ce338d93c8afc437304538e848b 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_1nff_price.php @@ -41,7 +41,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php index 32b20006b237daa4b4c4eb081593ca1edb585acc..ede6ac9f803aab509bb4fa10a1a561327fef9373 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php index 5118e9e63f01a04f229a7b8e024bd7cfc153c20c..a6e69f75c624f09d7a93e371d52df0a67c2d09fb 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_hotel_offer_rel.php @@ -39,7 +39,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php index a133e6acc2621a6cf111922e492f4f17d1bf4cab..a3d1c7649d9f2a6b8bed2c9bb9227ec8d975ce42 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_offer.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php index 19a2ad8b0f2f49e835c93bafaa6630ac1929aa80..ab377018d87ea06b5cd3a0f376e570554f57407a 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnasym_price.php @@ -40,7 +40,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php index eeb33c994052152fefdb9594d2bb691cad3e0c4d..066e4e675bd7d75d999befde05c5da51d26d6df5 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php index c55c4554c610ec3d7b21188b796947c584739984..ae2b34a6fca80cda32b63b759cf276577eb83a7a 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_hotel_offer_rel.php @@ -39,7 +39,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php index 5d10b59de8ea62988c383db18646ceb8d113d6c9..a4766877d642ada444d447ae7b725ff908d11471 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnattr_offer.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php index e04944a72dfa751579c134e273aa31e1d5f680de..2538af18415437173b579ae3de100a2cd4957ce3 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_hotel.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php index 82f9c26f2c83e92f09b5465c0d8a3218f288f0cc..0b983a1b49d1e402431085128d7e35ecdc4ec354 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_offer.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php index 45747f776ee682191f16f767332501c3169297a4..5d54b6bf656ae591273591ce1a704548c6cf5235 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnmmasym_price.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php index adcead6c1d4e45a85e7bf4eced1b0c7841fe1760..687d1924cb1f589fce3f2619a29806d45883f87f 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel.php @@ -38,7 +38,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php index 43e0a45d450c3472f2f76b5c32d7572cb501775d..0883d98e866b76ae85165da0dcedd83d47ecd5f9 100644 --- a/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php +++ b/typo3/sysext/core/Tests/Functional/Fixtures/Extensions/irre_tutorial/Configuration/TCA/tx_irretutorial_mnsym_hotel_rel.php @@ -39,7 +39,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php index b3da2a6aa3a0a1873a050a2a588ed94882eff6f4..4961de197ad772f1cbaf1783030dca3707af892a 100644 --- a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php +++ b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php @@ -479,4 +479,86 @@ class TcaMigrationTest extends UnitTestCase $subject = new TcaMigration(); self::assertEquals($expected, $subject->migrate($input)); } + + /** + * @test + */ + public function removeExcludeFieldForTransOrigPointerFieldIsRemoved(): void + { + $input = [ + 'aTable' => [ + 'ctrl' => [ + 'transOrigPointerField' => 'l10n_parent' + ], + 'columns' => [ + 'l10n_parent' => [ + 'exclude' => true, + 'config' => [ + 'type' => 'select' + ] + ] + ] + ], + 'bTable' => [ + 'ctrl' => [ + 'transOrigPointerField' => 'l10n_parent' + ], + 'columns' => [ + 'l10n_parent' => [ + 'config' => [ + 'type' => 'select' + ] + ] + ] + ], + 'cTable' => [ + 'columns' => [ + 'l10n_parent' => [ + 'exclude' => true, + 'config' => [ + 'type' => 'select' + ] + ] + ] + ] + ]; + $expected = [ + 'aTable' => [ + 'ctrl' => [ + 'transOrigPointerField' => 'l10n_parent' + ], + 'columns' => [ + 'l10n_parent' => [ + 'config' => [ + 'type' => 'select' + ] + ] + ] + ], + 'bTable' => [ + 'ctrl' => [ + 'transOrigPointerField' => 'l10n_parent' + ], + 'columns' => [ + 'l10n_parent' => [ + 'config' => [ + 'type' => 'select' + ] + ] + ] + ], + 'cTable' => [ + 'columns' => [ + 'l10n_parent' => [ + 'exclude' => true, + 'config' => [ + 'type' => 'select' + ] + ] + ] + ] + ]; + $subject = new TcaMigration(); + self::assertEquals($expected, $subject->migrate($input)); + } } diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_blog.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_blog.php index 01e3bc7e343e1d69671b05c4053fed70380aaae3..8576a32fdfd865c108f2dde718155e4c00e9d562 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_blog.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_blog.php @@ -40,7 +40,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_info.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_info.php index 47f10d0feb253494f18a8e1c04cf0e7ca2acdde1..73c88434eecbe6442af91a82a6ce509312992b9e 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_info.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_info.php @@ -39,7 +39,6 @@ return [ ] ], 'l18n_parent' => [ - 'exclude' => true, 'displayCond' => 'FIELD:sys_language_uid:>:0', 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_person.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_person.php index f265e939105d277427a6107a9063b3c841f3ddb9..f9273d6d9159c29ae40e6b509be8a7181920e321 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_person.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_person.php @@ -41,7 +41,6 @@ return [ ], 'l10n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_post.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_post.php index fb050f2ea350ba251667da945e16f4a0eb2645b1..aeb668041bece44a0a079e8d123236b6ea833b59 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_post.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_post.php @@ -47,7 +47,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_tag.php b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_tag.php index 6c66fd78544ce5084ebc68281f4b0c1b771bf010..e24a1c0a54df4eb6fb3c8f9d07fe36efcb1b0592 100644 --- a/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_tag.php +++ b/typo3/sysext/extbase/Tests/Functional/Fixtures/Extensions/blog_example/Configuration/TCA/tx_blogexample_domain_model_tag.php @@ -39,7 +39,6 @@ return [ ], 'l18n_parent' => [ 'displayCond' => 'FIELD:sys_language_uid:>:0', - 'exclude' => true, 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [ 'type' => 'select', diff --git a/typo3/sysext/frontend/Configuration/TCA/tt_content.php b/typo3/sysext/frontend/Configuration/TCA/tt_content.php index e3436db4e8166a867b2f53295b1c7e1130186761..c5ee3c109c9f2aff5f70fbb7a49c99b6e91e2447 100644 --- a/typo3/sysext/frontend/Configuration/TCA/tt_content.php +++ b/typo3/sysext/frontend/Configuration/TCA/tt_content.php @@ -307,7 +307,6 @@ return [ ] ], 'l18n_parent' => [ - 'exclude' => true, 'displayCond' => 'FIELD:sys_language_uid:>:0', 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent', 'config' => [