Bug #100351
openElementBrowserRecordlist::isRowListingConditionFulfilled does not work with flexforms
0%
Description
Story
The element browser should respect the filter property of group fields.
This works for regular TCA group field definitions but not for group fields comming from a flexform.
This missbehavior is caused by function isRowListingConditionFulfilled fetching the field configuration from from the relating table and field which in case of a flexform is always "tt_conntent"/pi_flexfrom insteand of the actual configuration within the flexform.
Therefor filter userfunc are not executed for groupfields configured within flexforms.
Reproduce
Add a flexform to a plugin.
E.g.:
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>tx_foo_domain_model_bar</allowed>
<minitems>1</minitems>
<filter>
<numIndex index="0">
<userFunc>Foo/User/Filter->doFilter</userFunc>
<parameters>
<myParameter>abc</myParameter>
</parameters>
</numIndex>
</filter>
</config>
Expected Behavior
Foo/User/Filter->doFilter should be called
Actual Behavior
Foo/User/Filter->doFilter is not called because isRowListingConditionFulfilled looks for a filter in
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']
Possible Solution
Introduce an exception for pi_flexform. Not that easy though because the content of the pi_flexform is not available at this point.