Bug #81618

Formengine DataProvider TcaColumnsOverrides must be executed before TcaGroup

Added by Sascha Egerer 5 days ago. Updated 1 day ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
Start date:
2017-06-22
Due date:
% Done:

0%

TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
medium
Is Regression:
Sprint Focus:
Remote Sprint

Description

The FormDataProvider TcaColumnsOverrides must be executed before TcaGroup as the type of the field may be changed by TcaColumnsOverrides.
TcaGroup does some desctructable actions on the result array that msut only be done if the field is a group field. If the type is changed via TcaColumnsOverrides the data is already modified which ends up in a broken form (e.g. data cant be saved anymore and is lost after saving).

Adding a "filter" does also not work as the group provider is executed before the filter is registered.


        'filter' => [
            [
                'userFunc' => Vendor\\Extension\\MyClass::class . '->doFilter',
                'parameters' => [
                    'evaluateGender' => 'female',
                ],
            ],
        ],

Adding the dependency does currently end up in a cycle dependency.


Subtasks

Task #81682: Throw exception if somebody tries to override the field "type" via "columnsOverride"Under ReviewSascha Egerer

History

#1 Updated by Sascha Egerer 2 days ago

  • Description updated (diff)

#2 Updated by Christian Kuhn 2 days ago

That's hard: the TcaGroup provider is needed for recordTypeValue, which is needed by ColumnsOverrides provider.

Also available in: Atom PDF