Skip to content

Commit 911f739

Browse files
Merge pull request #17141 to #17140
2 parents cc18640 + e740014 commit 911f739

File tree

3 files changed

+82
-30
lines changed

3 files changed

+82
-30
lines changed

app/code/Magento/User/Controller/Adminhtml/Auth.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,32 @@
77
namespace Magento\User\Controller\Adminhtml;
88

99
use Magento\Framework\Encryption\Helper\Security;
10+
use Magento\Backend\App\AbstractAction;
11+
use Magento\Backend\App\Action\Context;
12+
use Magento\User\Model\UserFactory;
13+
use Magento\Framework\Exception\LocalizedException;
1014

1115
/**
1216
* \Magento\User Auth controller
1317
*/
14-
abstract class Auth extends \Magento\Backend\App\AbstractAction
18+
abstract class Auth extends AbstractAction
1519
{
1620
/**
1721
* User model factory
1822
*
19-
* @var \Magento\User\Model\UserFactory
23+
* @var UserFactory
2024
*/
2125
protected $_userFactory;
2226

2327
/**
2428
* Construct
2529
*
26-
* @param \Magento\Backend\App\Action\Context $context
27-
* @param \Magento\User\Model\UserFactory $userFactory
30+
* @param Context $context
31+
* @param UserFactory $userFactory
2832
*/
2933
public function __construct(
30-
\Magento\Backend\App\Action\Context $context,
31-
\Magento\User\Model\UserFactory $userFactory
34+
Context $context,
35+
UserFactory $userFactory
3236
) {
3337
parent::__construct($context);
3438
$this->_userFactory = $userFactory;
@@ -40,7 +44,7 @@ public function __construct(
4044
* @param int $userId
4145
* @param string $resetPasswordToken
4246
* @return void
43-
* @throws \Magento\Framework\Exception\LocalizedException
47+
* @throws LocalizedException
4448
*/
4549
protected function _validateResetPasswordLinkToken($userId, $resetPasswordToken)
4650
{
@@ -50,22 +54,20 @@ protected function _validateResetPasswordLinkToken($userId, $resetPasswordToken)
5054
$resetPasswordToken
5155
) || empty($resetPasswordToken) || empty($userId) || $userId < 0
5256
) {
53-
throw new \Magento\Framework\Exception\LocalizedException(
54-
__('The password reset token is incorrect. Verify the token and try again.')
55-
);
57+
throw new LocalizedException(__('Please correct the password reset token.'));
5658
}
5759

5860
/** @var $user \Magento\User\Model\User */
5961
$user = $this->_userFactory->create()->load($userId);
6062
if (!$user->getId()) {
61-
throw new \Magento\Framework\Exception\LocalizedException(
63+
throw new LocalizedException(
6264
__('Please specify the correct account and try again.')
6365
);
6466
}
6567

6668
$userToken = $user->getRpToken();
6769
if (!Security::compareStrings($userToken, $resetPasswordToken) || $user->isResetPasswordLinkTokenExpired()) {
68-
throw new \Magento\Framework\Exception\LocalizedException(__('Your password reset link has expired.'));
70+
throw new LocalizedException(__('Your password reset link has expired.'));
6971
}
7072
}
7173

app/code/Magento/User/Controller/Adminhtml/Auth/Forgotpassword.php

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,54 @@
77
namespace Magento\User\Controller\Adminhtml\Auth;
88

99
use Magento\Security\Model\SecurityManager;
10+
use Magento\Framework\App\ObjectManager;
11+
use Magento\Backend\App\Action\Context;
12+
use Magento\User\Model\UserFactory;
13+
use Magento\User\Model\ResourceModel\User\CollectionFactory;
14+
use Magento\Framework\Validator\EmailAddress;
15+
use Magento\Security\Model\PasswordResetRequestEvent;
16+
use Magento\Framework\Exception\SecurityViolationException;
17+
use Magento\User\Controller\Adminhtml\Auth;
18+
use Magento\Backend\Helper\Data;
1019

11-
class Forgotpassword extends \Magento\User\Controller\Adminhtml\Auth
20+
class Forgotpassword extends Auth
1221
{
1322
/**
1423
* @var SecurityManager
1524
*/
1625
protected $securityManager;
1726

1827
/**
19-
* @param \Magento\Backend\App\Action\Context $context
20-
* @param \Magento\User\Model\UserFactory $userFactory
21-
* @param \Magento\Security\Model\SecurityManager $securityManager
28+
* User model factory
29+
*
30+
* @var CollectionFactory
31+
*/
32+
private $userCollectionFactory;
33+
34+
/**
35+
* @var Data
36+
*/
37+
private $backendDataHelper;
38+
39+
/**
40+
* @param Context $context
41+
* @param UserFactory $userFactory
42+
* @param SecurityManager $securityManager
43+
* @param CollectionFactory $userCollectionFactory
2244
*/
2345
public function __construct(
24-
\Magento\Backend\App\Action\Context $context,
25-
\Magento\User\Model\UserFactory $userFactory,
26-
\Magento\Security\Model\SecurityManager $securityManager
46+
Context $context,
47+
UserFactory $userFactory,
48+
SecurityManager $securityManager,
49+
CollectionFactory $userCollectionFactory = null,
50+
Data $backendDataHelper = null
2751
) {
2852
parent::__construct($context, $userFactory);
2953
$this->securityManager = $securityManager;
54+
$this->userCollectionFactory = $userCollectionFactory ?:
55+
ObjectManager::getInstance()->get(CollectionFactory::class);
56+
$this->backendDataHelper = $backendDataHelper ?:
57+
ObjectManager::getInstance()->get(Data::class);
3058
}
3159

3260
/**
@@ -44,18 +72,18 @@ public function execute()
4472
$resultRedirect = $this->resultRedirectFactory->create();
4573
if (!empty($email) && !empty($params)) {
4674
// Validate received data to be an email address
47-
if (\Zend_Validate::is($email, \Magento\Framework\Validator\EmailAddress::class)) {
75+
if (\Zend_Validate::is($email, EmailAddress::class)) {
4876
try {
4977
$this->securityManager->performSecurityCheck(
50-
\Magento\Security\Model\PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST,
78+
PasswordResetRequestEvent::ADMIN_PASSWORD_RESET_REQUEST,
5179
$email
5280
);
53-
} catch (\Magento\Framework\Exception\SecurityViolationException $exception) {
81+
} catch (SecurityViolationException $exception) {
5482
$this->messageManager->addErrorMessage($exception->getMessage());
5583
return $resultRedirect->setPath('admin');
5684
}
57-
$collection = $this->_objectManager->get(\Magento\User\Model\ResourceModel\User\Collection::class);
5885
/** @var $collection \Magento\User\Model\ResourceModel\User\Collection */
86+
$collection = $this->userCollectionFactory->create();
5987
$collection->addFieldToFilter('email', $email);
6088
$collection->load(false);
6189

@@ -65,9 +93,7 @@ public function execute()
6593
/** @var \Magento\User\Model\User $user */
6694
$user = $this->_userFactory->create()->load($item->getId());
6795
if ($user->getId()) {
68-
$newPassResetToken = $this->_objectManager->get(
69-
\Magento\User\Helper\Data::class
70-
)->generateResetPasswordLinkToken();
96+
$newPassResetToken = $this->backendDataHelper->generateResetPasswordLinkToken();
7197
$user->changeResetPasswordLinkToken($newPassResetToken);
7298
$user->save();
7399
$user->sendPasswordResetConfirmationEmail();
@@ -86,7 +112,7 @@ public function execute()
86112
$this->messageManager->addSuccess(__('We\'ll email you a link to reset your password.'));
87113
// @codingStandardsIgnoreEnd
88114
$this->getResponse()->setRedirect(
89-
$this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl()
115+
$this->backendDataHelper->getHomePageUrl()
90116
);
91117
return;
92118
} else {

app/code/Magento/User/Controller/Adminhtml/Auth/ResetPasswordPost.php

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,32 @@
66
*/
77
namespace Magento\User\Controller\Adminhtml\Auth;
88

9-
class ResetPasswordPost extends \Magento\User\Controller\Adminhtml\Auth
9+
use Magento\User\Controller\Adminhtml\Auth;
10+
use Magento\Backend\App\Action\Context;
11+
use Magento\Framework\App\ObjectManager;
12+
use Magento\Backend\Helper\Data;
13+
use Magento\User\Model\UserFactory;
14+
15+
class ResetPasswordPost extends Auth
1016
{
17+
/**
18+
* @var Data
19+
*/
20+
private $backendDataHelper;
21+
22+
/**
23+
* @param Context $context
24+
* @param UserFactory $userFactory
25+
* @param Data $backendDataHelper
26+
*/
27+
public function __construct(
28+
Context $context,
29+
UserFactory $userFactory,
30+
Data $backendDataHelper = null
31+
) {
32+
parent::__construct($context, $userFactory);
33+
$this->backendDataHelper = $backendDataHelper ?: ObjectManager::getInstance()->get(Data::class);
34+
}
1135
/**
1236
* Reset forgotten password
1337
*
@@ -27,7 +51,7 @@ public function execute()
2751
} catch (\Exception $exception) {
2852
$this->messageManager->addError(__('Your password reset link has expired.'));
2953
$this->getResponse()->setRedirect(
30-
$this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl()
54+
$this->backendDataHelper->getHomePageUrl()
3155
);
3256
return;
3357
}
@@ -53,7 +77,7 @@ public function execute()
5377
$user->save();
5478
$this->messageManager->addSuccess(__('You updated your password.'));
5579
$this->getResponse()->setRedirect(
56-
$this->_objectManager->get(\Magento\Backend\Helper\Data::class)->getHomePageUrl()
80+
$this->backendDataHelper->getHomePageUrl()
5781
);
5882
}
5983
} catch (\Magento\Framework\Validator\Exception $exception) {

0 commit comments

Comments
 (0)