Skip to content
Snippets Groups Projects
Commit f2f9c8da authored by Samit Khulve's avatar Samit Khulve Committed by Kristen Pol
Browse files

Issue #3361638 by samit.310@gmail.com, mglaman, Kristen Pol: Fix usage of...

Issue #3361638 by samit.310@gmail.com, mglaman, Kristen Pol: Fix usage of current request in the PasswordPolicyEventSubscriber
parent a7311d6e
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,6 @@ services:
- '@current_user'
- '@entity_type.manager'
- '@messenger'
- '@request_stack'
- '@?masquerade'
tags:
- {name: event_subscriber}
......
......@@ -8,7 +8,6 @@ use Drupal\Core\Session\AccountProxyInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\Url;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Drupal\Core\Routing\RouteObjectInterface;
......@@ -42,13 +41,6 @@ class PasswordPolicyEventSubscriber implements EventSubscriberInterface {
*/
protected $userStorage;
/**
* The request object.
*
* @var \Symfony\Component\HttpFoundation\Request|null
*/
protected $request;
/**
* The Masquerade service if it exists, or NULL.
*
......@@ -65,18 +57,15 @@ class PasswordPolicyEventSubscriber implements EventSubscriberInterface {
* The entity type manager.
* @param \Drupal\Core\Messenger\MessengerInterface $messenger
* The messenger service.
* @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
* The request stack.
* @param \Drupal\masquerade\Masquerade|null $masquerade
* The Masquerade service if it exists.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
*/
public function __construct(AccountProxyInterface $currentUser, EntityTypeManagerInterface $entityTypeManager, MessengerInterface $messenger, RequestStack $requestStack, $masquerade = NULL) {
public function __construct(AccountProxyInterface $currentUser, EntityTypeManagerInterface $entityTypeManager, MessengerInterface $messenger, $masquerade = NULL) {
$this->currentUser = $currentUser;
$this->messenger = $messenger;
$this->request = $requestStack->getCurrentRequest();
$this->userStorage = $entityTypeManager->getStorage('user');
$this->masquerade = $masquerade;
}
......@@ -85,7 +74,7 @@ class PasswordPolicyEventSubscriber implements EventSubscriberInterface {
* Event callback to look for users expired password.
*/
public function checkForUserPasswordExpiration(RequestEvent $event) {
$route_name = $this->request->attributes->get(RouteObjectInterface::ROUTE_NAME);
$route_name = $event->getRequest()->attributes->get(RouteObjectInterface::ROUTE_NAME);
$ignore_route = in_array($route_name, [
'system.403',
'entity.user.edit_form',
......@@ -109,7 +98,7 @@ class PasswordPolicyEventSubscriber implements EventSubscriberInterface {
/** @var \Drupal\user\UserInterface $user */
$user = $this->userStorage->load($this->currentUser->id());
$is_ajax = $this->request->headers->get('X_REQUESTED_WITH') === 'XMLHttpRequest';
$is_ajax = $event->getRequest()->isXmlHttpRequest();
$user_expired = FALSE;
if ($user && $user->hasField('field_password_expiration') && $user->get('field_password_expiration')->get(0)) {
......@@ -129,8 +118,8 @@ class PasswordPolicyEventSubscriber implements EventSubscriberInterface {
// Save the token passed in the URL when the user access the site via
// one time login.
$session = $this->request->getSession();
$token = $this->request->query->get('pass-reset-token');
$session = $event->getRequest()->getSession();
$token = $event->getRequest()->query->get('pass-reset-token');
if (isset($token)) {
$session->set('pass-reset-token-password-policy', $token);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment