protected function execute(InputInterface $input, OutputInterface $output) { $logger = $this->getService('logger'); $path = $input->getOption('path'); $user_name = $input->getOption('username'); $lang = $input->getOption('lang'); $fields = explode(',', $input->getOption('fields')); $pretty = !$input->getOption('raw'); $bm = new BeanManager($this->getService('sugarcrm.entrypoint')); $bean_list = array(); try { if (!empty($user_name)) { $um = new UsersManager($this->getService('sugarcrm.entrypoint')); $bean_list[] = $um->getUserBeanByName($user_name); } else { $bean_list = $bm->getList('Users'); } } catch (BeanNotFoundException $e) { $logger->error("User '{$user_name}' doesn't exists on the SugarCRM located at '{$path}'."); return ExitCode::EXIT_USER_NOT_FOUND; } $format = $input->getOption('format'); if ($format === 'text') { // Output table $table = new Table($output); $table->setStyle('borderless'); $fields_data = $bm->beanListToArray($fields, $bean_list, $pretty, $lang); $table->setHeaders(array_keys($fields_data[0])); $table->setRows($fields_data); $table->render(); } else { $serial = SerializerBuilder::create()->build(); try { $output->write($serial->serialize($bm->beanListToArray($fields, $bean_list, $pretty, $lang), $format)); } catch (UnsupportedFormatException $e) { $output->write("<comment>Format {$format} is not supported.</comment>\n"); return ExitCode::EXIT_FORMAT_ERROR; } } }
/** * @expectedException Inet\SugarCRM\Exception\BeanNotFoundException */ public function testInvalidUser() { $sugar = $this->getEntryPointInstance(); $um = new UsersManager($sugar); $um->getUserBeanByName('invalid user'); }