extensionManager = $extensionManager; $this->stringConverter = $stringConverter; $this->generator = $permissionGenerator; parent::__construct(); } /** * {@inheritdoc} */ protected function configure() { $this ->setName('generate:permissions') ->setDescription($this->trans('commands.generate.permission.description')) ->setHelp($this->trans('commands.generate.permission.help')) ->addOption( 'module', null, InputOption::VALUE_REQUIRED, $this->trans('commands.common.options.module') ) ->addOption( 'permissions', null, InputOption::VALUE_OPTIONAL, $this->trans('commands.common.options.permissions') ); } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $module = $input->getOption('module'); $permissions = $input->getOption('permissions'); $learning = $input->hasOption('learning'); $this->generator->generate($module, $permissions, $learning); } /** * {@inheritdoc} */ protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); // --module option $module = $input->getOption('module'); if (!$module) { // @see Drupal\Console\Command\Shared\ModuleTrait::moduleQuestion $module = $this->moduleQuestion($io); $input->setOption('module', $module); } // --permissions option $permissions = $input->getOption('permissions'); if (!$permissions) { // @see \Drupal\Console\Command\Shared\PermissionTrait::permissionQuestion $permissions = $this->permissionQuestion($io); $input->setOption('permissions', $permissions); } } }