12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\User\Console;
- use Symfony\Component\Console\Command\Command;
- use Symfony\Component\Console\Input\InputArgument;
- use Symfony\Component\Console\Input\InputInterface;
- use Symfony\Component\Console\Output\OutputInterface;
- use Magento\User\Model\ResourceModel\User as AdminUser;
- /**
- * Command for unlocking an account.
- */
- class UnlockAdminAccountCommand extends Command
- {
- const ARGUMENT_ADMIN_USERNAME = 'username';
- const ARGUMENT_ADMIN_USERNAME_DESCRIPTION = 'The admin username to unlock';
- const COMMAND_ADMIN_ACCOUNT_UNLOCK = 'admin:user:unlock';
- const COMMAND_DESCRIPTION = 'Unlock Admin Account';
- const USER_ID = 'user_id';
- /**
- * @var AdminUser
- */
- private $adminUser;
- /**
- * {@inheritdoc}
- *
- * @param AdminUser $userResource
- */
- public function __construct(
- AdminUser $adminUser,
- $name = null
- ) {
- $this->adminUser = $adminUser;
- parent::__construct($name);
- }
- /**
- * {@inheritdoc}
- */
- protected function execute(InputInterface $input, OutputInterface $output)
- {
- $adminUserName = $input->getArgument(self::ARGUMENT_ADMIN_USERNAME);
- $userData = $this->adminUser->loadByUsername($adminUserName);
- $outputMessage = sprintf('Couldn\'t find the user account "%s"', $adminUserName);
- if ($userData) {
- if (isset($userData[self::USER_ID]) && $this->adminUser->unlock($userData[self::USER_ID])) {
- $outputMessage = sprintf('The user account "%s" has been unlocked', $adminUserName);
- } else {
- $outputMessage = sprintf(
- 'The user account "%s" was not locked or could not be unlocked',
- $adminUserName
- );
- }
- }
- $output->writeln('<info>' . $outputMessage . '</info>');
- }
- /**
- * {@inheritdoc}
- */
- protected function configure()
- {
- $this->setName(self::COMMAND_ADMIN_ACCOUNT_UNLOCK);
- $this->setDescription(self::COMMAND_DESCRIPTION);
- $this->addArgument(
- self::ARGUMENT_ADMIN_USERNAME,
- InputArgument::REQUIRED,
- self::ARGUMENT_ADMIN_USERNAME_DESCRIPTION
- );
- $this->setHelp(
- <<<HELP
- This command unlocks an admin account by its username.
- To unlock:
- <comment>%command.full_name% username</comment>
- HELP
- );
- parent::configure();
- }
- }
|