Bug #96830
closed
Forms: Confirmation message Finisher overriding issues
Added by Madalina Chis over 2 years ago.
Updated over 1 year ago.
Sprint Focus:
Remote Sprint
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
- Private changed from Yes to No
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.
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.
- Related to Bug #97557: Confirmation finisher contentElementUid added
- Sprint Focus set to Remote Sprint
- Related to Bug #96478: PHP Warning: sprintf(): Too few arguments in FinisherOptionGenerator.php line 95 added
- Status changed from New to Under Review
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Status changed from Resolved to Closed
Also available in: Atom
PDF