[BUGFIX] Ensure uncached forms in case of POST requests
A new `FormRequestHandler` has been introduced as entry point which takes care of creating and rendering the actual `FormRuntime`. Independent of the current application dispatcher (either the default `FormFrontendController`, any custom Extbase controller or a TypoScript `FLUIDTEMPLATE` cObject) any processing will end up here. To ensure proper caching, it is important to separate the two main actions `render` and `perform`, which unfortunately cannot be resolved easily, especially when using custom Extbase controller actions. The term uncached refers to using cObject `USER_INT` instead of `USER`. More details about the process flow are described in `\TYPO3\CMS\Form\Core\FormRequestHandler`, introduced by this change. Resolves: #93887 Resolves: #92406 Releases: main, 11.5, 10.4 Change-Id: I0b98d39f04b6c70ea370200c53316b381019dd2a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70460 Tested-by:Elias Häußler <e.haeussler@familie-redlich.de> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
core-ci <typo3@b13.com> Tested-by:
waldhacker <hello@waldhacker.dev> Reviewed-by:
Elias Häußler <e.haeussler@familie-redlich.de> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
waldhacker <hello@waldhacker.dev>
Showing
- typo3/sysext/form/Classes/Controller/FormFrontendController.php 9 additions, 5 deletions...sysext/form/Classes/Controller/FormFrontendController.php
- typo3/sysext/form/Classes/Core/FormRequestHandler.php 244 additions, 0 deletionstypo3/sysext/form/Classes/Core/FormRequestHandler.php
- typo3/sysext/form/Classes/Domain/Factory/FormFactoryInterface.php 1 addition, 1 deletion...sext/form/Classes/Domain/Factory/FormFactoryInterface.php
- typo3/sysext/form/Classes/Domain/Runtime/FormRuntime.php 22 additions, 26 deletionstypo3/sysext/form/Classes/Domain/Runtime/FormRuntime.php
- typo3/sysext/form/Classes/ViewHelpers/FormViewHelper.php 1 addition, 1 deletiontypo3/sysext/form/Classes/ViewHelpers/FormViewHelper.php
- typo3/sysext/form/Classes/ViewHelpers/RenderViewHelper.php 17 additions, 36 deletionstypo3/sysext/form/Classes/ViewHelpers/RenderViewHelper.php
- typo3/sysext/form/Configuration/Services.yaml 3 additions, 0 deletionstypo3/sysext/form/Configuration/Services.yaml
- typo3/sysext/form/Tests/Functional/RequestHandling/RequestHandlingTest.php 42 additions, 54 deletions.../Tests/Functional/RequestHandling/RequestHandlingTest.php
- typo3/sysext/form/ext_localconf.php 3 additions, 1 deletiontypo3/sysext/form/ext_localconf.php