diff --git a/src/Controller/PartImportExportController.php b/src/Controller/PartImportExportController.php index 4d4aa54c..c2eae0a9 100644 --- a/src/Controller/PartImportExportController.php +++ b/src/Controller/PartImportExportController.php @@ -75,7 +75,8 @@ class PartImportExportController extends AbstractController } $options = [ - 'preserve_children' => $data['preserve_children'], + 'create_unknown_datastructures' => $data['create_unknown_datastructures'], + 'path_delimiter' => $data['path_delimiter'], 'format' => $format, 'part_category' => $data['part_category'], 'class' => Part::class, diff --git a/src/Form/AdminPages/ImportType.php b/src/Form/AdminPages/ImportType.php index ba0c7db7..6af7d6e1 100644 --- a/src/Form/AdminPages/ImportType.php +++ b/src/Form/AdminPages/ImportType.php @@ -85,13 +85,40 @@ class ImportType extends AbstractType $builder->add('part_category', StructuralEntityType::class, [ 'class' => Category::class, 'required' => false, - 'label' => 'category.label', + 'label' => 'parts.import.part_category.label', + 'help' => 'parts.import.part_category.help', 'disabled' => $disabled, 'disable_not_selectable' => true, 'allow_add' => true ]); } + if ($entity instanceof AbstractStructuralDBElement) { + $builder->add('preserve_children', CheckboxType::class, [ + 'data' => true, + 'required' => false, + 'label' => 'import.preserve_children', + 'disabled' => $disabled, + ]); + } + + if ($entity instanceof Part) { + $builder->add('create_unknown_datastructures', CheckboxType::class, [ + 'data' => true, + 'required' => false, + 'label' => 'import.create_unknown_datastructures', + 'help' => 'import.create_unknown_datastructures.help', + 'disabled' => $disabled, + ]); + + $builder->add('path_delimiter', TextType::class, [ + 'data' => '->', + 'label' => 'import.path_delimiter', + 'help' => 'import.path_delimiter.help', + 'disabled' => $disabled, + ]); + } + $builder->add('file', FileType::class, [ 'label' => 'import.file', 'attr' => [ @@ -100,21 +127,15 @@ class ImportType extends AbstractType 'data-show-upload' => 'false', ], 'disabled' => $disabled, - ]) + ]); - ->add('preserve_children', CheckboxType::class, [ - 'data' => true, - 'required' => false, - 'label' => 'import.preserve_children', - 'disabled' => $disabled, - ]) - ->add('abort_on_validation_error', CheckboxType::class, [ - 'data' => true, - 'required' => false, - 'label' => 'import.abort_on_validation', - 'help' => 'import.abort_on_validation.help', - 'disabled' => $disabled, - ]) + $builder->add('abort_on_validation_error', CheckboxType::class, [ + 'data' => true, + 'required' => false, + 'label' => 'import.abort_on_validation', + 'help' => 'import.abort_on_validation.help', + 'disabled' => $disabled, + ]) //Buttons ->add('import', SubmitType::class, [ diff --git a/templates/parts/import/parts_import.html.twig b/templates/parts/import/parts_import.html.twig index bd9d8f09..3f3d4c48 100644 --- a/templates/parts/import/parts_import.html.twig +++ b/templates/parts/import/parts_import.html.twig @@ -26,6 +26,11 @@ {% endblock %} {% block card_content %} +
+ {% trans %}parts.import.help{% endtrans %}
+ {% trans with {'%link%': 'https://docs.part-db.de/'} %}parts.import.help_documentation{% endtrans %}
+