diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-07 10:19:38 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-12-07 10:19:38 +0100 |
commit | 085f3f58fa440271d84f9bbb4487252799939cb2 (patch) | |
tree | e533708964fbad58741caea0af5e2b1b7c4132fc /settings | |
parent | c1fb9fa4839d34857d8b3f0f4c9ff835bd44894c (diff) | |
parent | 8c9a3ccefc81206f3a381d365e5909405169aa65 (diff) | |
download | nextcloud-server-085f3f58fa440271d84f9bbb4487252799939cb2.tar.gz nextcloud-server-085f3f58fa440271d84f9bbb4487252799939cb2.zip |
Merge pull request #20954 from owncloud/settings_user_only_load_avatar_if_available
Settings user only load avatar if available
Diffstat (limited to 'settings')
-rw-r--r-- | settings/application.php | 3 | ||||
-rw-r--r-- | settings/controller/userscontroller.php | 14 | ||||
-rw-r--r-- | settings/js/users/users.js | 8 |
3 files changed, 21 insertions, 4 deletions
diff --git a/settings/application.php b/settings/application.php index f9ee0121db0..729e61b5925 100644 --- a/settings/application.php +++ b/settings/application.php @@ -136,7 +136,8 @@ class Application extends App { $c->query('Mailer'), $c->query('DefaultMailAddress'), $c->query('URLGenerator'), - $c->query('OCP\\App\\IAppManager') + $c->query('OCP\\App\\IAppManager'), + $c->query('OCP\\IAvatarManager') ); }); $container->registerService('LogSettingsController', function(IContainer $c) { diff --git a/settings/controller/userscontroller.php b/settings/controller/userscontroller.php index 827f74c4c83..0164d3bcee7 100644 --- a/settings/controller/userscontroller.php +++ b/settings/controller/userscontroller.php @@ -43,6 +43,7 @@ use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; use OCP\Mail\IMailer; +use OCP\IAvatarManager; /** * @package OC\Settings\Controller @@ -74,6 +75,8 @@ class UsersController extends Controller { private $isEncryptionAppEnabled; /** @var bool contains the state of the admin recovery setting */ private $isRestoreEnabled = false; + /** @var IAvatarManager */ + private $avatarManager; /** * @param string $appName @@ -104,7 +107,8 @@ class UsersController extends Controller { IMailer $mailer, $fromMailAddress, IURLGenerator $urlGenerator, - IAppManager $appManager) { + IAppManager $appManager, + IAvatarManager $avatarManager) { parent::__construct($appName, $request); $this->userManager = $userManager; $this->groupManager = $groupManager; @@ -117,6 +121,7 @@ class UsersController extends Controller { $this->mailer = $mailer; $this->fromMailAddress = $fromMailAddress; $this->urlGenerator = $urlGenerator; + $this->avatarManager = $avatarManager; // check for encryption state - TODO see formatUserForIndex $this->isEncryptionAppEnabled = $appManager->isEnabledForUser('encryption'); @@ -168,6 +173,12 @@ class UsersController extends Controller { if (is_null($displayName)) { $displayName = ''; } + + $avatarAvailable = false; + if ($this->config->getSystemValue('enable_avatars', true) === true) { + $avatarAvailable = $this->avatarManager->getAvatar($user->getUID())->exists(); + } + return [ 'name' => $user->getUID(), 'displayname' => $user->getDisplayName(), @@ -179,6 +190,7 @@ class UsersController extends Controller { 'backend' => $user->getBackendClassName(), 'email' => $displayName, 'isRestoreDisabled' => !$restorePossible, + 'isAvatarAvailable' => $avatarAvailable, ]; } diff --git a/settings/js/users/users.js b/settings/js/users/users.js index aeecac7b243..2f8a964bafb 100644 --- a/settings/js/users/users.js +++ b/settings/js/users/users.js @@ -64,8 +64,12 @@ var UserList = { /** * Avatar or placeholder */ - if ($tr.find('div.avatardiv').length){ - $('div.avatardiv', $tr).avatar(user.name, 32, undefined, undefined, undefined, user.displayname); + if ($tr.find('div.avatardiv').length) { + if (user.isAvatarAvailable === true) { + $('div.avatardiv', $tr).avatar(user.name, 32, undefined, undefined, undefined, user.displayname); + } else { + $('div.avatardiv', $tr).imageplaceholder(user.displayname); + } } /** |