setDescription('Rename a documentation field from a Databox'); $this->addArgument('name', InputArgument::REQUIRED, 'The new name'); $this->addArgument('meta_struct_id', InputArgument::REQUIRED, 'Metadata structure id destination'); $this->addArgument('sbas_id', InputArgument::REQUIRED, 'Databox sbas_id'); return $this; } public function execute(InputInterface $input, OutputInterface $output) { if ( ! $input->getArgument('sbas_id')) throw new \Exception('Missing argument sbas_id'); if ( ! $input->getArgument('meta_struct_id')) throw new \Exception('Missing argument meta_struct_id'); if ( ! $input->getArgument('name')) throw new \Exception('Missing argument name'); $new_name = $input->getArgument('name'); try { $databox = \databox::get_instance((int) $input->getArgument('sbas_id')); } catch (\Exception $e) { $output->writeln("Invalid databox id "); return 1; } try { $field = $databox->get_meta_structure()->get_element((int) $input->getArgument('meta_struct_id')); } catch (\Exception $e) { $output->writeln("Invalid meta struct id "); return 1; } $dialog = $this->getHelperSet()->get('dialog'); $continue = mb_strtolower( $dialog->ask( $output , "About to rename " . $field->get_name() . " into " . $new_name . " (y/N)" , 'n' ) ); if ($continue != 'y') { $output->writeln("Request canceled by user"); return 1; } $output->writeln("Renaming ... "); $field->set_name($new_name); $field->save(); $output->writeln("Done with success !"); return 0; } }