Bug #96830
closedForms: Confirmation message Finisher overriding issues
100%
Description
Overriding the confirmation message(settings.finishers.Confirmation.message) - is not working.
Because of the content element - which is "empty" but it has a value set like [Empty] and this condition "if (!empty($contentElementUid))" is not right in this case
Updated by Hannes Bochmann over 2 years ago
I ran into the same issue. Here is some more insight. It seems like \TYPO3\CMS\Form\Domain\Configuration\FlexformConfiguration\Processors\FinisherOptionGenerator::__invoke() generates the contentElementUid field for the flexform. If no content element is selected the value "[Empty]" is written to the database. In \TYPO3\CMS\Form\Domain\Finishers\ConfirmationFinisher::executeInternal() there is a check whether contentElementUid is empty which it never can be. So in case of a overridden message and no selected content element the finisher renders a content element with the uid "[Empty]" which indeed is empty :-D
Maybe there should be a check for the "empty" locallang label like it's used in \TYPO3\CMS\Form\Domain\Configuration\FlexformConfiguration\Processors\FinisherOptionGenerator. But I guess there would bee more spots that have the same problem as the "[Empty]" values seems to be used for all fields to mark them as empty. Other fields like the mail subject have the value "[Empty]" as well but this value is not used in the mail. So maybe there something wrong with the innvocation of $this->parseOption('contentElementUid') in ConfirmationFinisher.
Updated by Hannes Bochmann over 2 years ago
I experienced another bug which might belong here. When the confirmation finisher is paired with an e-mail finisher the selected language of the e-mail finisher is used for the confirmation finisher, too.
Furthermore in my case the selected language is wrong. My default language is german and english is a tranlsation. When "default" is selected as language in the overrides it seems it's a invalid language key which leads to loading the default locallang files (those without language prefix) which are english. As soon as no language is selected (removed from overrides tab) the current language is used.
Updated by Joey Bouten over 2 years ago
- Related to Bug #97557: Confirmation finisher contentElementUid added
Updated by Mathias Brodala over 2 years ago
- Related to Bug #96478: PHP Warning: sprintf(): Too few arguments in FinisherOptionGenerator.php line 95 added
Updated by Gerrit Code Review over 2 years ago
- Status changed from New to Under Review
Patch set 1 for branch 10.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/74999
Updated by Anonymous over 2 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 48df44f6f4882a32e290d70792305d23f53d8e42.