Skip to content
Snippets Groups Projects
Commit 0410873e authored by Morton Jonuschat's avatar Morton Jonuschat Committed by Anja Leichsenring
Browse files

[BUGFIX] FormEngine: Keep columns from overruleTypesArray for processing

If a showitem configuration is overruled, use that information to select
the columns that need to be kept for processing/display.

Resolves: #70540
Releases: master
Change-Id: I9ce53e0bb815775e6dfead0645ba0533158d440d
Reviewed-on: http://review.typo3.org/43936


Reviewed-by: default avatarMarkus Klein <markus.klein@typo3.org>
Tested-by: default avatarMarkus Klein <markus.klein@typo3.org>
Reviewed-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: default avatarDaniel Goerz <ervaude@gmail.com>
Tested-by: default avatarDaniel Goerz <ervaude@gmail.com>
Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
parent 4a2f2d36
Branches
Tags
No related merge requests found
......@@ -40,7 +40,9 @@ class TcaColumnsProcessShowitem implements FormDataProviderInterface
return $result;
}
$showItemFieldString = $result['processedTca']['types'][$recordTypeValue]['showitem'];
$showItemFieldString = !empty($result['overruleTypesArray'][$recordTypeValue]['showitem'])
? $result['overruleTypesArray'][$recordTypeValue]['showitem']
: $result['processedTca']['types'][$recordTypeValue]['showitem'];
$showItemFieldArray = GeneralUtility::trimExplode(',', $showItemFieldString, true);
foreach ($showItemFieldArray as $fieldConfigurationString) {
......
......@@ -68,6 +68,47 @@ class TcaColumnsProcessShowitemTest extends UnitTestCase
$this->assertSame($expected, $this->subject->addData($input));
}
/**
* @test
*/
public function addDataRegistersColumnsFieldReferencedInOverruledShowitems()
{
$input = [
'columnsToProcess' => [],
'databaseRow' => [],
'recordTypeValue' => 'aType',
'overruleTypesArray' => [
'aType' => [
'showitem' => 'keepMe'
]
],
'processedTca' => [
'types' => [
'aType' => [
'showitem' => 'aField'
],
],
'columns' => [
'keepMe' => [
'config' => [
'type' => 'input',
]
],
'aField' => [
'config' => [
'type' => 'input',
]
]
]
]
];
$expected = $input;
$expected['columnsToProcess'] = ['keepMe'];
$this->assertSame($expected, $this->subject->addData($input));
}
/**
* @test
*/
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment