From 22ee3c1f4ec2d25bb80bafa57a16ee237d4eae8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Frank=20Na=CC=88gler?= <frank.naegler@typo3.org>
Date: Fri, 2 Oct 2015 14:51:35 +0200
Subject: [PATCH] [BUGFIX] "form field wizard" in flexform not saved

This patch fix a bug for wizards in flex forms.

Resolves: #69047
Releases: master
Change-Id: I2bf8f79729c2d31166c77a1a85b3e77cf03828a0
Reviewed-on: http://review.typo3.org/43741
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
---
 .../Classes/Form/Container/FlexFormElementContainer.php     | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/typo3/sysext/backend/Classes/Form/Container/FlexFormElementContainer.php b/typo3/sysext/backend/Classes/Form/Container/FlexFormElementContainer.php
index 6a9ee0676d08..6cbbb2bcd975 100644
--- a/typo3/sysext/backend/Classes/Form/Container/FlexFormElementContainer.php
+++ b/typo3/sysext/backend/Classes/Form/Container/FlexFormElementContainer.php
@@ -104,7 +104,13 @@ class FlexFormElementContainer extends AbstractContainer {
 					$fakeParameterArray['fieldChangeFunc']['alert'] = $alertMsgOnChange;
 				}
 
+				$originalFieldName = $parameterArray['itemFormElName'];
 				$fakeParameterArray['itemFormElName'] = $parameterArray['itemFormElName'] . $flexFormFormPrefix . '[' . $flexFormFieldName . '][vDEF]';
+				if ($fakeParameterArray['itemFormElName'] !== $originalFieldName) {
+					if (!empty($fakeParameterArray['fieldChangeFunc']['TBE_EDITOR_fieldChanged'])) {
+						$fakeParameterArray['fieldChangeFunc']['TBE_EDITOR_fieldChanged'] = str_replace($originalFieldName, $fakeParameterArray['itemFormElName'], $fakeParameterArray['fieldChangeFunc']['TBE_EDITOR_fieldChanged']);
+					}
+				}
 				$fakeParameterArray['itemFormElID'] = $fakeParameterArray['itemFormElName'];
 				if (isset($flexFormRowData[$flexFormFieldName]['vDEF'])) {
 					$fakeParameterArray['itemFormElValue'] = $flexFormRowData[$flexFormFieldName]['vDEF'];
-- 
GitLab