mirror of
https://github.com/Combodo/iTop.git
synced 2026-08-22 22:28:19 +02:00
N°8772 - dynamic form
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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()
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
19
sources/Forms/Block/FormType/FormTypeHelper.php
Normal file
19
sources/Forms/Block/FormType/FormTypeHelper.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Combodo\iTop\Forms\Block\FormType;
|
||||
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
|
||||
class FormTypeHelper
|
||||
{
|
||||
public static function buildFormTypeFullPath(FormInterface $form): string
|
||||
{
|
||||
$names = [];
|
||||
$current = $form;
|
||||
while ($current !== null) {
|
||||
$names[] = $current->getName();
|
||||
$current = $current->getParent();
|
||||
}
|
||||
return implode('_', array_reverse($names));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user