diff --git a/src/Command/Generate/FormCommand.php b/src/Command/Generate/FormCommand.php index 8014462eb..5e7dea5c5 100644 --- a/src/Command/Generate/FormCommand.php +++ b/src/Command/Generate/FormCommand.php @@ -144,6 +144,12 @@ protected function configure() InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, $this->trans('commands.common.options.services') ) + ->addOption( + 'config-file', + '', + InputOption::VALUE_NONE, + $this->trans('commands.generate.form.options.config-file') + ) ->addOption( 'inputs', '', @@ -190,6 +196,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $module = $input->getOption('module'); $services = $input->getOption('services'); $path = $input->getOption('path'); + $config_file = $input->getOption('config-file'); $class_name = $input->getOption('class'); $form_id = $input->getOption('form-id'); $form_type = $this->formType; @@ -204,7 +211,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $this ->generator - ->generate($module, $class_name, $form_id, $form_type, $build_services, $inputs, $path, $menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc); + ->generate($module, $class_name, $form_id, $form_type, $build_services, $config_file, $inputs, $path,$menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc); $this->chainQueue->addCommand('router:rebuild', []); } @@ -248,6 +255,17 @@ protected function interact(InputInterface $input, OutputInterface $output) // @see use Drupal\Console\Command\Shared\ServicesTrait::servicesQuestion $services = $this->servicesQuestion($io); $input->setOption('services', $services); + + // --config_file option + $config_file = $input->getOption('config-file'); + + if (!$config_file) { + $config_file = $io->confirm( + $this->trans('commands.generate.form.questions.config-file'), + true + ); + $input->setOption('config-file', $config_file); + } // --inputs option $inputs = $input->getOption('inputs'); diff --git a/src/Generator/FormGenerator.php b/src/Generator/FormGenerator.php index a05cd1ae9..d1574620a 100644 --- a/src/Generator/FormGenerator.php +++ b/src/Generator/FormGenerator.php @@ -41,6 +41,7 @@ public function __construct( * @param $module * @param $class_name * @param $services + * @param $config_file * @param $inputs * @param $form_id * @param $form_type @@ -50,7 +51,7 @@ public function __construct( * @param $menu_parent * @param $menu_link_desc */ - public function generate($module, $class_name, $form_id, $form_type, $services, $inputs, $path, $menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc) + public function generate($module, $class_name, $form_id, $form_type, $services, $config_file, $inputs, $path, $menu_link_gen, $menu_link_title, $menu_parent, $menu_link_desc) { $class_name_short = strtolower( $this->stringConverter->removeSuffix($class_name) @@ -59,6 +60,7 @@ public function generate($module, $class_name, $form_id, $form_type, $services, $parameters = [ 'class_name' => $class_name, 'services' => $services, + 'config_file' => $config_file, 'inputs' => $inputs, 'module_name' => $module, 'form_id' => $form_id, @@ -90,13 +92,16 @@ public function generate($module, $class_name, $form_id, $form_type, $services, $this->extensionManager->getModule($module)->getFormPath() .'/'.$class_name.'.php', $parameters ); + + // Render defaults YML file. + if ($config_file == true) { + $this->renderFile( + 'module/config/install/field.default.yml.twig', + $this->extensionManager->getModule($module)->getPath() .'/config/install/'.$module.'.'.$class_name_short.'.yml', + $parameters + ); - // Render defaults YML file. - $this->renderFile( - 'module/config/install/field.default.yml.twig', - $this->extensionManager->getModule($module)->getPath() .'/config/install/'.$module.'.'.$class_name_short.'.yml', - $parameters - ); + } if ($menu_link_gen == true) { $this->renderFile(