From feaee01eafc38b43352dbeb8a536db35f2103b26 Mon Sep 17 00:00:00 2001 From: webchick Date: Tue, 8 Oct 2013 21:00:38 -0700 Subject: [PATCH] Issue #2105123 by pwolanin: Add a currentUser() method to \Drupal\Core\Plugin\PluginBase. --- core/lib/Drupal/Core/Plugin/PluginBase.php | 19 +++++++++++++++++++ .../Drupal/user/Plugin/Search/UserSearch.php | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/core/lib/Drupal/Core/Plugin/PluginBase.php b/core/lib/Drupal/Core/Plugin/PluginBase.php index 03f952a6426..246ddaadbaa 100644 --- a/core/lib/Drupal/Core/Plugin/PluginBase.php +++ b/core/lib/Drupal/Core/Plugin/PluginBase.php @@ -22,6 +22,25 @@ abstract class PluginBase extends ComponentPluginBase { */ protected $translationManager; + /** + * Current user object. + * + * @var \Drupal\Core\Session\AccountInterface + */ + protected $currentUser; + + /** + * Gets the current active user. + * + * @return \Drupal\Core\Session\AccountInterface + */ + protected function currentUser() { + if (!$this->currentUser) { + $this->currentUser = \Drupal::currentUser(); + } + return $this->currentUser; + } + /** * Translates a string to the current language or to a given language. * diff --git a/core/modules/user/lib/Drupal/user/Plugin/Search/UserSearch.php b/core/modules/user/lib/Drupal/user/Plugin/Search/UserSearch.php index 52ed50b07a3..ee1d590c763 100644 --- a/core/modules/user/lib/Drupal/user/Plugin/Search/UserSearch.php +++ b/core/modules/user/lib/Drupal/user/Plugin/Search/UserSearch.php @@ -120,7 +120,7 @@ class UserSearch extends SearchPluginBase implements AccessibleInterface { ->select('users') ->extend('Drupal\Core\Database\Query\PagerSelectExtender'); $query->fields('users', array('uid')); - $user_account = $this->request->attributes->get('_account'); + $user_account = $this->currentUser(); if ($user_account->hasPermission('administer users')) { // Administrators can also search in the otherwise private email field, and // they don't need to be restricted to only active users.