Project

General

Profile

Actions

Bug #96830

closed

Forms: Confirmation message Finisher overriding issues

Added by Madalina Chis about 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Form Framework
Target version:
-
Start date:
2022-02-11
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
easy
Is Regression:
Yes
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


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #97557: Confirmation finisher contentElementUidClosed2022-05-05

Actions
Related to TYPO3 Core - Bug #96478: PHP Warning: sprintf(): Too few arguments in FinisherOptionGenerator.php line 95Closed2022-01-07

Actions
Actions #1

Updated by Madalina Chis about 2 years ago

  • Private changed from Yes to No
Actions #2

Updated by Hannes Bochmann about 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.

Actions #3

Updated by Hannes Bochmann about 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.

Actions #4

Updated by Joey Bouten almost 2 years ago

  • Related to Bug #97557: Confirmation finisher contentElementUid added
Actions #5

Updated by Björn Jacob almost 2 years ago

  • Sprint Focus set to Remote Sprint
Actions #6

Updated by Mathias Brodala almost 2 years ago

  • Is Regression set to Yes
Actions #7

Updated by Mathias Brodala almost 2 years ago

  • Related to Bug #96478: PHP Warning: sprintf(): Too few arguments in FinisherOptionGenerator.php line 95 added
Actions #8

Updated by Gerrit Code Review almost 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

Actions #9

Updated by Anonymous almost 2 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #10

Updated by Benni Mack over 1 year ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF