aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/User/AvailabilityCoordinator.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/User/AvailabilityCoordinator.php')
-rw-r--r--lib/private/User/AvailabilityCoordinator.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/User/AvailabilityCoordinator.php b/lib/private/User/AvailabilityCoordinator.php
index fe0db92fd0f..8e6b73bd56d 100644
--- a/lib/private/User/AvailabilityCoordinator.php
+++ b/lib/private/User/AvailabilityCoordinator.php
@@ -27,10 +27,12 @@ declare(strict_types=1);
namespace OC\User;
use JsonException;
+use OCA\DAV\AppInfo\Application;
use OCA\DAV\Db\AbsenceMapper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\ICache;
use OCP\ICacheFactory;
+use OCP\IConfig;
use OCP\IUser;
use OCP\User\IAvailabilityCoordinator;
use OCP\User\IOutOfOfficeData;
@@ -42,11 +44,20 @@ class AvailabilityCoordinator implements IAvailabilityCoordinator {
public function __construct(
ICacheFactory $cacheFactory,
private AbsenceMapper $absenceMapper,
+ private IConfig $config,
private LoggerInterface $logger,
) {
$this->cache = $cacheFactory->createLocal('OutOfOfficeData');
}
+ public function isEnabled(): bool {
+ return $this->config->getAppValue(
+ Application::APP_ID,
+ 'hide_absence_settings',
+ 'no',
+ ) === 'no';
+ }
+
private function getCachedOutOfOfficeData(IUser $user): ?OutOfOfficeData {
$cachedString = $this->cache->get($user->getUID());
if ($cachedString === null) {