From 48df44f6f4882a32e290d70792305d23f53d8e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20H=C3=A4u=C3=9Fler?= <elias@haeussler.dev> Date: Thu, 30 Jun 2022 10:13:09 +0200 Subject: [PATCH] [BUGFIX] Do not use "[Empty]" label for finisher options in FormEngine With #96478, the default value for overridden finisher options in FormEngine was set to the translated label "[Empty]" in case the finisher option was empty. Since applying labels to values does not really make sense here, the original option value is now set as default value in FormEngine, ignoring the generated label. Resolves: #97781 Resolves: #97557 Resolves: #96830 Related: #96478 Releases: 10.4 Change-Id: Ice236994485374a3e5399926df901da15cb8d991 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74999 Tested-by: core-ci <typo3@b13.com> Tested-by: Oliver Hader <oliver.hader@typo3.org> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Oliver Hader <oliver.hader@typo3.org> --- .../Processors/FinisherOptionGenerator.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/typo3/sysext/form/Classes/Domain/Configuration/FlexformConfiguration/Processors/FinisherOptionGenerator.php b/typo3/sysext/form/Classes/Domain/Configuration/FlexformConfiguration/Processors/FinisherOptionGenerator.php index 925d852cf7e8..7166c89d70b7 100644 --- a/typo3/sysext/form/Classes/Domain/Configuration/FlexformConfiguration/Processors/FinisherOptionGenerator.php +++ b/typo3/sysext/form/Classes/Domain/Configuration/FlexformConfiguration/Processors/FinisherOptionGenerator.php @@ -89,6 +89,10 @@ class FinisherOptionGenerator extends AbstractProcessor } catch (MissingArrayPathException $exception) { } + if (isset($elementConfiguration['config'])) { + $elementConfiguration['config']['default'] = $optionValue; + } + if (empty($optionValue)) { $optionValue = $this->languageService->getLL('empty'); } elseif (is_array($optionValue)) { @@ -96,10 +100,6 @@ class FinisherOptionGenerator extends AbstractProcessor } $elementConfiguration['label'] .= sprintf(' (%s: "%s")', $this->languageService->getLL('default'), $optionValue); - if (isset($elementConfiguration['config'])) { - $elementConfiguration['config']['default'] = $optionValue; - } - $sheetElements = $this->converterDto->getResult(); $sheetElements['settings.finishers.' . $finisherIdentifier . '.' . $optionKey]['TCEforms'] = $elementConfiguration; -- GitLab