diff --git a/typo3/sysext/core/Classes/Migrations/TcaMigration.php b/typo3/sysext/core/Classes/Migrations/TcaMigration.php index 0177020137b093f6778698652d5abfb00d6dbaa9..c0e6adb1e8c56c6840828f4034f17e60d9fbc0cd 100644 --- a/typo3/sysext/core/Classes/Migrations/TcaMigration.php +++ b/typo3/sysext/core/Classes/Migrations/TcaMigration.php @@ -422,14 +422,14 @@ class TcaMigration continue; } foreach ($tableDefinition['columns'] as $fieldName => &$fieldConfig) { - if ((string)($fieldConfig['config']['type'] ?? '') != 'inline' + if ((string)($fieldConfig['config']['type'] ?? '') !== 'inline' || !isset($fieldConfig['config']['appearance']['showRemovedLocalizationRecords']) ) { continue; } $this->messages[] = 'The TCA field \'' . $fieldName . '\' of table \'' . $table . '\' is ' - . 'defined as type \'inline\' with the \'appearance.showRemovedLocalizationRecords\' option. This is not ' - . 'evaluated anymore. There is no replacement and should therefore be removed.'; + . 'defined as type \'inline\' with the \'appearance.showRemovedLocalizationRecords\' option set. ' + . 'As this option is not evaluated anymore and no replacement exists, it should be removed from TCA.'; unset($fieldConfig['config']['appearance']['showRemovedLocalizationRecords']); } } diff --git a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php index 984879e75431fa283fdaba81cb9059e7d558d21e..89a830019ed1ed5d71a0ded059b85dbe2da26262 100644 --- a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php +++ b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php @@ -821,7 +821,31 @@ class TcaMigrationTest extends UnitTestCase 'config' => [ 'type' => 'inline', 'appearance' => [ - 'showRemovedLocalizationRecords' => 1 + 'showRemovedLocalizationRecords' => true + ] + ] + ] + ] + ], + 'bTable' => [ + 'columns' => [ + 'inlineField' => [ + 'config' => [ + 'type' => 'inline', + 'appearance' => [ + 'showRemovedLocalizationRecords' => false + ] + ] + ] + ] + ], + 'cTable' => [ + 'columns' => [ + 'someField' => [ + 'config' => [ + 'type' => 'select', + 'appearance' => [ + 'showRemovedLocalizationRecords' => true ] ] ] @@ -840,6 +864,28 @@ class TcaMigrationTest extends UnitTestCase ] ] ], + 'bTable' => [ + 'columns' => [ + 'inlineField' => [ + 'config' => [ + 'type' => 'inline', + 'appearance' => [] + ] + ] + ] + ], + 'cTable' => [ + 'columns' => [ + 'someField' => [ + 'config' => [ + 'type' => 'select', + 'appearance' => [ + 'showRemovedLocalizationRecords' => true + ] + ] + ] + ] + ], ]; $subject = new TcaMigration();