summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-06-04 08:11:49 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-06-04 08:52:38 +0200
commitda9a5415a1b3a55fd8335604ccf3bbd4b2fcb2e3 (patch)
tree261cc485caa2c78756d3e90718f24bbfbc79d072 /lib
parent9c9b506aad3958e8dab872c9a4364c2b24564ea2 (diff)
Properly check for circles version
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/PageController.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index d885d6b7..c789ecc7 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -24,6 +24,7 @@
namespace OCA\Contacts\Controller;
+use OC\App\CompareVersion;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\TemplateResponse;
@@ -56,13 +57,17 @@ class PageController extends Controller {
/** @var IAppManager */
private $appManager;
+ /** @var CompareVersion */
+ private $compareVersion;
+
public function __construct(IRequest $request,
IConfig $config,
IInitialStateService $initialStateService,
IFactory $languageFactory,
IUserSession $userSession,
SocialApiService $socialApiService,
- IAppManager $appManager) {
+ IAppManager $appManager,
+ CompareVersion $compareVersion) {
parent::__construct(Application::APP_ID, $request);
$this->config = $config;
@@ -71,6 +76,7 @@ class PageController extends Controller {
$this->userSession = $userSession;
$this->socialApiService = $socialApiService;
$this->appManager = $appManager;
+ $this->compareVersion = $compareVersion;
}
/**
@@ -95,13 +101,17 @@ class PageController extends Controller {
// automated background syncs for social avatars (default: no)
$bgSyncEnabledByUser = $this->config->getUserValue($userId, Application::APP_ID, 'enableSocialSync', 'no');
+ $isContactsInteractionEnabled = $this->appManager->isEnabledForUser('contactsinteraction') === true;
+ $isCirclesEnabled = $this->appManager->isEnabledForUser('circles') === true;
+ $isCircleVersionCompatible = $this->compareVersion->isCompatible($this->appManager->getAppVersion('circles'), 22);
+
$this->initialStateService->provideInitialState(Application::APP_ID, 'locales', $locales);
$this->initialStateService->provideInitialState(Application::APP_ID, 'defaultProfile', $defaultProfile);
$this->initialStateService->provideInitialState(Application::APP_ID, 'supportedNetworks', $supportedNetworks);
$this->initialStateService->provideInitialState(Application::APP_ID, 'allowSocialSync', $syncAllowedByAdmin);
$this->initialStateService->provideInitialState(Application::APP_ID, 'enableSocialSync', $bgSyncEnabledByUser);
- $this->initialStateService->provideInitialState(Application::APP_ID, 'isContactsInteractionEnabled', $this->appManager->isEnabledForUser('contactsinteraction') === true);
- $this->initialStateService->provideInitialState(Application::APP_ID, 'isCirclesEnabled', $this->appManager->isEnabledForUser('circles') === true);
+ $this->initialStateService->provideInitialState(Application::APP_ID, 'isContactsInteractionEnabled', $isContactsInteractionEnabled);
+ $this->initialStateService->provideInitialState(Application::APP_ID, 'isCirclesEnabled', $isCirclesEnabled && $isCircleVersionCompatible);
Util::addScript(Application::APP_ID, 'contacts-main');
Util::addStyle(Application::APP_ID, 'contacts');