diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2016-11-22 18:25:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-22 18:25:52 +0100 |
commit | f4470b6861080f9ef9635c65b7b8d8ee7574c78a (patch) | |
tree | f9c4cfc6542c8e3855ddd6ae648262d6dae2e89a /apps | |
parent | 717fd9fdd6b8e3246459690a3f5b3453461c724a (diff) | |
parent | f6e72696283b5aa5fbb8b1e9907e0040627e85b7 (diff) | |
download | nextcloud-server-f4470b6861080f9ef9635c65b7b8d8ee7574c78a.tar.gz nextcloud-server-f4470b6861080f9ef9635c65b7b8d8ee7574c78a.zip |
Merge pull request #2246 from nextcloud/display-name-for-files-and-tagging-activities-again
Use the display name for files activities again
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/lib/Activity/Provider.php | 35 | ||||
-rw-r--r-- | apps/systemtags/lib/Activity/Provider.php | 35 |
2 files changed, 62 insertions, 8 deletions
diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php index c2e753e9165..f1ffb851203 100644 --- a/apps/files/lib/Activity/Provider.php +++ b/apps/files/lib/Activity/Provider.php @@ -26,6 +26,8 @@ use OCP\Activity\IManager; use OCP\Activity\IProvider; use OCP\IL10N; use OCP\IURLGenerator; +use OCP\IUser; +use OCP\IUserManager; class Provider implements IProvider { @@ -38,15 +40,23 @@ class Provider implements IProvider { /** @var IManager */ protected $activityManager; + /** @var IUserManager */ + protected $userManager; + + /** @var string[] cached displayNames - key is the UID and value the displayname */ + protected $displayNames = []; + /** * @param IL10N $l * @param IURLGenerator $url * @param IManager $activityManager + * @param IUserManager $userManager */ - public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager) { + public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) { $this->l = $l; $this->url = $url; $this->activityManager = $activityManager; + $this->userManager = $userManager; } /** @@ -265,11 +275,28 @@ class Provider implements IProvider { ]; } - protected function getRichUserParameter($parameter) { + protected function getRichUserParameter($uid) { + if (!isset($this->displayNames[$uid])) { + $this->displayNames[$uid] = $this->getDisplayName($uid); + } + return [ 'type' => 'user', - 'id' => $parameter, - 'name' => $parameter,// FIXME Use display name + 'id' => $uid, + 'name' => $this->displayNames[$uid], ]; } + + /** + * @param string $uid + * @return string + */ + protected function getDisplayName($uid) { + $user = $this->userManager->get($uid); + if ($user instanceof IUser) { + return $user->getDisplayName(); + } else { + return $uid; + } + } } diff --git a/apps/systemtags/lib/Activity/Provider.php b/apps/systemtags/lib/Activity/Provider.php index 9d85300d5be..37ede8c3b8f 100644 --- a/apps/systemtags/lib/Activity/Provider.php +++ b/apps/systemtags/lib/Activity/Provider.php @@ -26,6 +26,8 @@ use OCP\Activity\IManager; use OCP\Activity\IProvider; use OCP\IL10N; use OCP\IURLGenerator; +use OCP\IUser; +use OCP\IUserManager; class Provider implements IProvider { @@ -45,15 +47,23 @@ class Provider implements IProvider { /** @var IManager */ protected $activityManager; + /** @var IUserManager */ + protected $userManager; + + /** @var string[] */ + protected $displayNames = []; + /** * @param IL10N $l * @param IURLGenerator $url * @param IManager $activityManager + * @param IUserManager $userManager */ - public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager) { + public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager, IUserManager $userManager) { $this->l = $l; $this->url = $url; $this->activityManager = $activityManager; + $this->userManager = $userManager; } /** @@ -278,11 +288,15 @@ class Provider implements IProvider { ]; } - protected function getUserParameter($parameter) { + protected function getUserParameter($uid) { + if (!isset($this->displayNames[$uid])) { + $this->displayNames[$uid] = $this->getDisplayName($uid); + } + return [ 'type' => 'user', - 'id' => $parameter, - 'name' => $parameter,// FIXME Use display name + 'id' => $uid, + 'name' => $this->displayNames[$uid], ]; } @@ -295,4 +309,17 @@ class Provider implements IProvider { return $this->l->t('%s (invisible)', $parameter['name']); } } + + /** + * @param string $uid + * @return string + */ + protected function getDisplayName($uid) { + $user = $this->userManager->get($uid); + if ($user instanceof IUser) { + return $user->getDisplayName(); + } else { + return $uid; + } + } } |