[BUGFIX] FormEngine: Select correct FlexForm DS for inline records 14/44914/3
authorMorton Jonuschat <m.jonuschat@mojocode.de>
Mon, 23 Nov 2015 11:12:08 +0000 (12:12 +0100)
committerWouter Wolters <typo3@wouterwolters.nl>
Tue, 1 Dec 2015 12:59:32 +0000 (13:59 +0100)
commit570e19edc7ab3363c46071667d1ee667a64926f2
treeab6b3a2ffc73f0111cce513b7261d78e7a5da754
parentbb653e245615e572e13cf0b6449eef2a21a3f56d
[BUGFIX] FormEngine: Select correct FlexForm DS for inline records

If an inline field is defined within a FlexForm that has multiple data
structures defined the FormAjaxInlineController always selects the
default data structure due to missing context information.

This patch transmits the required context within the AJAX request to
enable selecting the appropriate data structure for the flexform.

It also changes the method to determine the path through the flexform
data structure to work in the case of an inline element configured
within a flexform within another inline element.

Resolves: #71436
Related: #70918
Related: #71564
Related: #71655
Releases: master
Change-Id: I7ecd174b78997ad3b1d1513a15a78cdc7bac23ff
Reviewed-on: https://review.typo3.org/44914
Tested-by: Armin Ruediger Vieweg <armin@v.ieweg.de>
Tested-by: Sebastian Michaelsen <michaelsen@t3seo.de>
Tested-by: Felix Rauch <rauch@skaiamail.de>
Reviewed-by: Claus Due <claus@phpmind.net>
Tested-by: Christopher Orth <corthmail@gmail.com>
Tested-by: Torsten <info@by-torsten.com>
Tested-by: Philipp Wrann <philippwrann@gmail.com>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
typo3/sysext/backend/Classes/Controller/FormInlineAjaxController.php
typo3/sysext/backend/Classes/Form/Container/InlineControlContainer.php
typo3/sysext/backend/Classes/Form/FormDataProvider/TcaFlexProcess.php
typo3/sysext/backend/Classes/Form/InlineStackProcessor.php
typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexProcessTest.php