From 5b7a1ee44f466374b42df915dcceeff4fcac1375 Mon Sep 17 00:00:00 2001 From: Benjamin Dalsass Date: Wed, 5 Nov 2025 15:52:23 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B08772=20-=20dynamic=20form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/composer/autoload_classmap.php | 1 + lib/composer/autoload_static.php | 1 + sources/Forms/Block/FormType/FormType.php | 5 ++--- .../Forms/Block/FormType/FormTypeHelper.php | 19 +++++++++++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 sources/Forms/Block/FormType/FormTypeHelper.php diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index f8a51d4973..85d96429e6 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -494,6 +494,7 @@ return array( 'Combodo\\iTop\\Forms\\Block\\FormType\\ChoiceFormType' => $baseDir . '/sources/Forms/Block/FormType/ChoiceFormType.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\CollectionFormType' => $baseDir . '/sources/Forms/Block/FormType/CollectionFormType.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\FormType' => $baseDir . '/sources/Forms/Block/FormType/FormType.php', + 'Combodo\\iTop\\Forms\\Block\\FormType\\FormTypeHelper' => $baseDir . '/sources/Forms/Block/FormType/FormTypeHelper.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\OqlFormType' => $baseDir . '/sources/Forms/Block/FormType/OqlFormType.php', 'Combodo\\iTop\\Forms\\Block\\IO\\AbstractFormIO' => $baseDir . '/sources/Forms/Block/IO/AbstractFormIO.php', 'Combodo\\iTop\\Forms\\Block\\IO\\Converter\\AbstractConverter' => $baseDir . '/sources/Forms/Block/IO/Converter/AbstractConverter.php', diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index 371a3c19ed..999269144e 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -875,6 +875,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f 'Combodo\\iTop\\Forms\\Block\\FormType\\ChoiceFormType' => __DIR__ . '/../..' . '/sources/Forms/Block/FormType/ChoiceFormType.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\CollectionFormType' => __DIR__ . '/../..' . '/sources/Forms/Block/FormType/CollectionFormType.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\FormType' => __DIR__ . '/../..' . '/sources/Forms/Block/FormType/FormType.php', + 'Combodo\\iTop\\Forms\\Block\\FormType\\FormTypeHelper' => __DIR__ . '/../..' . '/sources/Forms/Block/FormType/FormTypeHelper.php', 'Combodo\\iTop\\Forms\\Block\\FormType\\OqlFormType' => __DIR__ . '/../..' . '/sources/Forms/Block/FormType/OqlFormType.php', 'Combodo\\iTop\\Forms\\Block\\IO\\AbstractFormIO' => __DIR__ . '/../..' . '/sources/Forms/Block/IO/AbstractFormIO.php', 'Combodo\\iTop\\Forms\\Block\\IO\\Converter\\AbstractConverter' => __DIR__ . '/../..' . '/sources/Forms/Block/IO/Converter/AbstractConverter.php', diff --git a/sources/Forms/Block/FormType/FormType.php b/sources/Forms/Block/FormType/FormType.php index 5faec68559..3eeb7e1b04 100644 --- a/sources/Forms/Block/FormType/FormType.php +++ b/sources/Forms/Block/FormType/FormType.php @@ -26,18 +26,17 @@ class FormType extends AbstractType foreach($oBlock->GetChildren() as $oChild) { if($oChild->IsAdded()){ - $oFormChild = $form->get($oChild->GetName()); $aData[] = [ 'name' => $oChild->GetName(), 'added' => $oChild->IsAdded(), - 'id' => $oChild->GetIdentifier(), + 'id' => FormTypeHelper::buildFormTypeFullPath($form) . '_' . $oChild->GetName() ]; } else{ $aData[] = [ 'name' => $oChild->GetName(), 'added' => $oChild->IsAdded(), - 'id' => $oChild->GetIdentifier(), + 'id' => FormTypeHelper::buildFormTypeFullPath($form) . '_' . $oChild->GetName() ]; } diff --git a/sources/Forms/Block/FormType/FormTypeHelper.php b/sources/Forms/Block/FormType/FormTypeHelper.php new file mode 100644 index 0000000000..26455795c0 --- /dev/null +++ b/sources/Forms/Block/FormType/FormTypeHelper.php @@ -0,0 +1,19 @@ +getName(); + $current = $current->getParent(); + } + return implode('_', array_reverse($names)); + } +} \ No newline at end of file