entityTypeManager = $entityTypeManager; $this->entityQuery = $entityQuery; parent::__construct(); } /** * {@inheritdoc} */ protected function configure() { $this ->setName('views:disable') ->setDescription($this->trans('commands.views.disable.description')) ->addArgument( 'view-id', InputArgument::OPTIONAL, $this->trans('commands.views.debug.arguments.view-id') ); } /** * {@inheritdoc} */ protected function interact(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $viewId = $input->getArgument('view-id'); if (!$viewId) { $views = $this->entityQuery ->get('view') ->condition('status', 1) ->execute(); $viewId = $io->choiceNoList( $this->trans('commands.views.debug.arguments.view-id'), $views ); $input->setArgument('view-id', $viewId); } } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $viewId = $input->getArgument('view-id'); $view = $this->entityTypeManager->getStorage('view')->load($viewId); if (empty($view)) { $io->error(sprintf($this->trans('commands.views.debug.messages.not-found'), $viewId)); return 1; } try { $view->disable()->save(); $io->success(sprintf($this->trans('commands.views.disable.messages.disabled-successfully'), $view->get('label'))); } catch (\Exception $e) { $io->error($e->getMessage()); return 1; } return 0; } }