Browse Source
feat(initial-state): Add own user groups to initial state
Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/9436/head
Joas Schilling
2 years ago
No known key found for this signature in database
GPG Key ID: C400AAF20C1BB6FC
5 changed files with
20 additions and
0 deletions
-
lib/Controller/PageController.php
-
lib/Files/TemplateLoader.php
-
lib/PublicShare/TemplateLoader.php
-
lib/PublicShareAuth/TemplateLoader.php
-
lib/TInitialState.php
|
|
@ -58,6 +58,7 @@ use OCP\Files\IRootFolder; |
|
|
|
use OCP\HintException; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\IRequest; |
|
|
|
use OCP\IURLGenerator; |
|
|
|
use OCP\IUser; |
|
|
@ -105,6 +106,7 @@ class PageController extends Controller { |
|
|
|
IThrottler $throttler, |
|
|
|
Config $talkConfig, |
|
|
|
IConfig $serverConfig, |
|
|
|
IGroupManager $groupManager, |
|
|
|
) { |
|
|
|
parent::__construct($appName, $request); |
|
|
|
$this->eventDispatcher = $eventDispatcher; |
|
|
@ -125,6 +127,7 @@ class PageController extends Controller { |
|
|
|
$this->throttler = $throttler; |
|
|
|
$this->talkConfig = $talkConfig; |
|
|
|
$this->serverConfig = $serverConfig; |
|
|
|
$this->groupManager = $groupManager; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
@ -36,6 +36,7 @@ use OCP\EventDispatcher\IEventListener; |
|
|
|
use OCP\Files\IRootFolder; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\IUser; |
|
|
|
use OCP\IUserSession; |
|
|
|
use OCP\Util; |
|
|
@ -60,6 +61,7 @@ class TemplateLoader implements IEventListener { |
|
|
|
IAppManager $appManager, |
|
|
|
IRootFolder $rootFolder, |
|
|
|
IUserSession $userSession, |
|
|
|
IGroupManager $groupManager, |
|
|
|
) { |
|
|
|
$this->initialState = $initialState; |
|
|
|
$this->memcacheFactory = $memcacheFactory; |
|
|
@ -68,6 +70,7 @@ class TemplateLoader implements IEventListener { |
|
|
|
$this->appManager = $appManager; |
|
|
|
$this->rootFolder = $rootFolder; |
|
|
|
$this->userSession = $userSession; |
|
|
|
$this->groupManager = $groupManager; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -35,6 +35,7 @@ use OCP\EventDispatcher\IEventListener; |
|
|
|
use OCP\Files\FileInfo; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\Util; |
|
|
|
|
|
|
|
/** |
|
|
@ -52,11 +53,13 @@ class TemplateLoader implements IEventListener { |
|
|
|
ICacheFactory $memcacheFactory, |
|
|
|
Config $talkConfig, |
|
|
|
IConfig $serverConfig, |
|
|
|
IGroupManager $groupManager, |
|
|
|
) { |
|
|
|
$this->initialState = $initialState; |
|
|
|
$this->talkConfig = $talkConfig; |
|
|
|
$this->memcacheFactory = $memcacheFactory; |
|
|
|
$this->serverConfig = $serverConfig; |
|
|
|
$this->groupManager = $groupManager; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
@ -34,6 +34,7 @@ use OCP\EventDispatcher\Event; |
|
|
|
use OCP\EventDispatcher\IEventListener; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\Util; |
|
|
|
|
|
|
|
/** |
|
|
@ -51,11 +52,13 @@ class TemplateLoader implements IEventListener { |
|
|
|
ICacheFactory $memcacheFactory, |
|
|
|
Config $talkConfig, |
|
|
|
IConfig $serverConfig, |
|
|
|
IGroupManager $groupManager, |
|
|
|
) { |
|
|
|
$this->initialState = $initialState; |
|
|
|
$this->talkConfig = $talkConfig; |
|
|
|
$this->memcacheFactory = $memcacheFactory; |
|
|
|
$this->serverConfig = $serverConfig; |
|
|
|
$this->groupManager = $groupManager; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
@ -32,6 +32,7 @@ use OCP\Files\NotPermittedException; |
|
|
|
use OCP\HintException; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IGroupManager; |
|
|
|
use OCP\IUser; |
|
|
|
use OCP\Util; |
|
|
|
|
|
|
@ -44,6 +45,7 @@ trait TInitialState { |
|
|
|
protected $initialState; |
|
|
|
/** @var ICacheFactory */ |
|
|
|
protected $memcacheFactory; |
|
|
|
protected IGroupManager $groupManager; |
|
|
|
|
|
|
|
protected function publishInitialStateShared(): void { |
|
|
|
// Needed to enable the screensharing extension in Chromium < 72
|
|
|
@ -124,6 +126,12 @@ trait TInitialState { |
|
|
|
$this->serverConfig->getUserValue($user->getUID(), 'spreed', 'play_sounds', 'yes') === 'yes' |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
$this->initialState->provideInitialState( |
|
|
|
'user_group_ids', |
|
|
|
$this->groupManager->getUserGroupIds($user) |
|
|
|
); |
|
|
|
|
|
|
|
$attachmentFolder = $this->talkConfig->getAttachmentFolder($user->getUID()); |
|
|
|
$freeSpace = 0; |
|
|
|
|
|
|
|