summaryrefslogtreecommitdiffstats
path: root/settings
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-12-07 10:19:38 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-12-07 10:19:38 +0100
commit085f3f58fa440271d84f9bbb4487252799939cb2 (patch)
treee533708964fbad58741caea0af5e2b1b7c4132fc /settings
parentc1fb9fa4839d34857d8b3f0f4c9ff835bd44894c (diff)
parent8c9a3ccefc81206f3a381d365e5909405169aa65 (diff)
downloadnextcloud-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.php3
-rw-r--r--settings/controller/userscontroller.php14
-rw-r--r--settings/js/users/users.js8
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);
+ }
}
/**