diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth.php b/app/code/Magento/User/Controller/Adminhtml/Auth.php index 173fdcc764f6f..8f7eb1706260b 100644 --- a/app/code/Magento/User/Controller/Adminhtml/Auth.php +++ b/app/code/Magento/User/Controller/Adminhtml/Auth.php @@ -7,31 +7,44 @@ namespace Magento\User\Controller\Adminhtml; use Magento\Framework\Encryption\Helper\Security; +use Magento\Backend\App\AbstractAction; +use Magento\Backend\App\Action\Context; +use Magento\User\Model\UserFactory; +use Magento\Backend\Helper\Data; +use Magento\Framework\Exception\LocalizedException; /** * \Magento\User Auth controller */ -abstract class Auth extends \Magento\Backend\App\AbstractAction +abstract class Auth extends AbstractAction { /** * User model factory * - * @var \Magento\User\Model\UserFactory + * @var UserFactory */ protected $_userFactory; + + /** + * @var Data + */ + protected $_backendDataHelper; /** * Construct * - * @param \Magento\Backend\App\Action\Context $context - * @param \Magento\User\Model\UserFactory $userFactory + * @param Context $context + * @param UserFactory $userFactory + * @param Data $backendDataHelper */ public function __construct( - \Magento\Backend\App\Action\Context $context, - \Magento\User\Model\UserFactory $userFactory + Context $context, + UserFactory $userFactory, + Data $backendDataHelper ) { parent::__construct($context); $this->_userFactory = $userFactory; + $this->_backendDataHelper = $backendDataHelper; } /** @@ -40,7 +53,7 @@ public function __construct( * @param int $userId * @param string $resetPasswordToken * @return void - * @throws \Magento\Framework\Exception\LocalizedException + * @throws LocalizedException */ protected function _validateResetPasswordLinkToken($userId, $resetPasswordToken) { @@ -50,7 +63,7 @@ protected function _validateResetPasswordLinkToken($userId, $resetPasswordToken) $resetPasswordToken ) || empty($resetPasswordToken) || empty($userId) || $userId < 0 ) { - throw new \Magento\Framework\Exception\LocalizedException( + throw new LocalizedException( __('The password reset token is incorrect. Verify the token and try again.') ); } @@ -65,7 +78,7 @@ protected function _validateResetPasswordLinkToken($userId, $resetPasswordToken) $userToken = $user->getRpToken(); if (!Security::compareStrings($userToken, $resetPasswordToken) || $user->isResetPasswordLinkTokenExpired()) { - throw new \Magento\Framework\Exception\LocalizedException(__('Your password reset link has expired.')); + throw new LocalizedException(__('Your password reset link has expired.')); } } diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php b/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php index cd4c3d6950685..e68d9b10213a9 100644 --- a/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php +++ b/app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php @@ -7,26 +7,43 @@ namespace Magento\User\Controller\Adminhtml\Auth; use Magento\Security\Model\SecurityManager; +use Magento\Backend\App\Action\Context; +use Magento\User\Model\UserFactory; +use Magento\User\Model\ResourceModel\User\CollectionFactory; +use Magento\Framework\Validator\EmailAddress; +use Magento\Security\Model\PasswordResetRequestEvent; +use Magento\Framework\Exception\SecurityViolationException; +use Magento\User\Controller\Adminhtml\Auth; -class Forgotpassword extends \Magento\User\Controller\Adminhtml\Auth +class Forgotpassword extends Auth { /** * @var SecurityManager */ protected $securityManager; + + /** + * User model factory + * + * @var CollectionFactory + */ + private $userCollectionFactory; /** - * @param \Magento\Backend\App\Action\Context $context - * @param \Magento\User\Model\UserFactory $userFactory - * @param \Magento\Security\Model\SecurityManager $securityManager + * @param Context $context + * @param UserFactory $userFactory + * @param SecurityManager $securityManager + * @param CollectionFactory $userCollectionFactory */ public function __construct( - \Magento\Backend\App\Action\Context $context, - \Magento\User\Model\UserFactory $userFactory, - \Magento\Security\Model\SecurityManager $securityManager + Context $context, + UserFactory $userFactory, + SecurityManager $securityManager, + CollectionFactory $userCollectionFactory ) { parent::__construct($context, $userFactory); $this->securityManager = $securityManager; + $this->userCollectionFactory = $userCollectionFactory; } /** @@ -44,18 +61,19 @@ public function execute() $resultRedirect = $this->resultRedirectFactory->create(); if (!empty($email) && !empty($params)) { // Validate received data to be an email address - if (\Zend_Validate::is($email, \Magento\Framework\Validator\EmailAddress::class)) { + if (\Zend_Validate::is($email, EmailAddress::class)) { try { $this->securityManager->performSecurityCheck( - \Magento\Security\Model\PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST, + PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST, $email ); - } catch (\Magento\Framework\Exception\SecurityViolationException $exception) { + } catch (SecurityViolationException $exception) { $this->messageManager->addErrorMessage($exception->getMessage()); return $resultRedirect->setPath('admin'); } - $collection = $this->_objectManager->get(\Magento\User\Model\ResourceModel\User\Collection::class); + /** @var $collection \Magento\User\Model\ResourceModel\User\Collection */ + $collection = $this->userCollectionFactory->create(); $collection->addFieldToFilter('email', $email); $collection->load(false); @@ -65,9 +83,7 @@ public function execute() /** @var \Magento\User\Model\User $user */ $user = $this->_userFactory->create()->load($item->getId()); if ($user->getId()) { - $newPassResetToken = $this->_objectManager->get( - \Magento\User\Helper\Data::class - )->generateResetPasswordLinkToken(); + $newPassResetToken = $this->_backendDataHelper->generateResetPasswordLinkToken(); $user->changeResetPasswordLinkToken($newPassResetToken); $user->save(); $user->sendPasswordResetConfirmationEmail(); @@ -86,7 +102,7 @@ public function execute() $this->messageManager->addSuccess(__('We\'ll email you a link to reset your password.')); // @codingStandardsIgnoreEnd $this->getResponse()->setRedirect( - $this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl() + $this->_backendDataHelper->getHomePageUrl() ); return; } else { diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php b/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php index 2c6be98439919..99bdf1a9dac26 100644 --- a/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php +++ b/app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php @@ -6,7 +6,9 @@ */ namespace Magento\User\Controller\Adminhtml\Auth; -class ResetPasswordPost extends \Magento\User\Controller\Adminhtml\Auth +use Magento\User\Controller\Adminhtml\Auth; + +class ResetPasswordPost extends Auth { /** * Reset forgotten password @@ -27,7 +29,7 @@ public function execute() } catch (\Exception $exception) { $this->messageManager->addError(__('Your password reset link has expired.')); $this->getResponse()->setRedirect( - $this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl() + $this->_backendDataHelper->getHomePageUrl() ); return; } @@ -53,7 +55,7 @@ public function execute() $user->save(); $this->messageManager->addSuccess(__('You updated your password.')); $this->getResponse()->setRedirect( - $this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl() + $this->_backendDataHelper->getHomePageUrl() ); } } catch (\Magento\Framework\Validator\Exception $exception) {