From 8c9e7d87531ce39962e50a0b59f029693e52097d Mon Sep 17 00:00:00 2001
From: Torben Hansen <derhansen@gmail.com>
Date: Sat, 27 Apr 2024 18:55:32 +0200
Subject: [PATCH] [TASK] Resolve `@todo` in AbstractFormFieldViewHelper
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This change resolves the `@todo` in `AbstractFormFieldViewHelper`
by using the suggested method from `PersistenceManager`, which
has been implemented with #42505.

Resolves: #103749
Related: #42505
Releases: main
Change-Id: I15a840568e80dacd8ce36aa1d6182eac6a3b74de
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84072
Tested-by: core-ci <typo3@b13.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
---
 .../ViewHelpers/Form/AbstractFormFieldViewHelper.php   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php
index 352ccc842f43..fc407e2632a5 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php
@@ -124,11 +124,11 @@ abstract class AbstractFormFieldViewHelper extends AbstractFormViewHelper
         } else {
             $name = $this->arguments['name'] ?? '';
         }
-        if ($this->hasArgument('value') && is_object($this->arguments['value'])) {
-            // @todo Use  $this->persistenceManager->isNewObject() once it is implemented
-            if ($this->persistenceManager->getIdentifierByObject($this->arguments['value']) !== null) {
-                $name .= '[__identity]';
-            }
+        if ($this->hasArgument('value') &&
+            is_object($this->arguments['value']) &&
+            !$this->persistenceManager->isNewObject($this->arguments['value'])
+        ) {
+            $name .= '[__identity]';
         }
         return (string)$name;
     }
-- 
GitLab