diff --git a/src/Bridge/Transformer/FileFormTransformer.php b/src/Bridge/Transformer/FileFormTransformer.php new file mode 100644 index 0000000..0f4d3a5 --- /dev/null +++ b/src/Bridge/Transformer/FileFormTransformer.php @@ -0,0 +1,27 @@ +questionFrom($form), + $this->defaultValueFrom($form) + ); + $question->setNormalizer(function($value) { + return new \Symfony\Component\HttpFoundation\File\File($value); + }); + return $question; + } + + protected function defaultValueFrom(FormInterface $form) + { + return $form->getViewData(); + } +} diff --git a/src/Bundle/services.yml b/src/Bundle/services.yml index d3fd675..c38ac1b 100644 --- a/src/Bundle/services.yml +++ b/src/Bundle/services.yml @@ -84,6 +84,13 @@ services: tags: - { name: form_to_question_transformer, form_type: Symfony\Component\Form\Extension\Core\Type\CheckboxType } + matthias_symfony_console_form.file_transformer: + class: Matthias\SymfonyConsoleForm\Bridge\Transformer\FileFormTransformer + parent: matthias_symfony_console_form.abstract_transformer + public: false + tags: + - { name: form_to_question_transformer, form_type: Symfony\Component\Form\Extension\Core\Type\FileType } + matthias_symfony_console_form.delegating_interactor: class: Matthias\SymfonyConsoleForm\Bridge\Interaction\DelegatingInteractor public: false