Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/richdocuments.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2021-10-12 23:05:50 +0300
committerJulius Härtl (Rebase PR Action) <github@juliushaertl.de>2022-02-08 23:32:43 +0300
commit73e3d8f034668dae798b3d252f996dbe91e14ea4 (patch)
tree25b2f59607d8a5541b7158121df8e43e2a04a67e /lib
parent6d47572a40e0cf79ecd5500daf08c9b95134a055 (diff)
add "is_admin" to extra info user data
It is intended to extend the WOPI standard to identify admin users to add some extra features. Signed-off-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Controller/WopiController.php10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Controller/WopiController.php b/lib/Controller/WopiController.php
index 15805f3f..7d8ca1b4 100644
--- a/lib/Controller/WopiController.php
+++ b/lib/Controller/WopiController.php
@@ -46,6 +46,7 @@ use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\IConfig;
+use OCP\IGroupManager;
use OCP\ILogger;
use OCP\IRequest;
use OCP\IURLGenerator;
@@ -81,6 +82,8 @@ class WopiController extends Controller {
private $federationService;
/** @var IEncryptionManager */
private $encryptionManager;
+ /** @var IGroupManager */
+ private $groupManager;
// Signifies LOOL that document has been changed externally in this storage
const LOOL_STATUS_DOC_CHANGED = 1010;
@@ -118,7 +121,8 @@ class WopiController extends Controller {
IShareManager $shareManager,
UserScopeService $userScopeService,
FederationService $federationService,
- IEncryptionManager $encryptionManager
+ IEncryptionManager $encryptionManager,
+ IGroupManager $groupManager
) {
parent::__construct($appName, $request);
$this->rootFolder = $rootFolder;
@@ -134,6 +138,7 @@ class WopiController extends Controller {
$this->userScopeService = $userScopeService;
$this->federationService = $federationService;
$this->encryptionManager = $encryptionManager;
+ $this->groupManager = $groupManager;
}
/**
@@ -233,6 +238,9 @@ class WopiController extends Controller {
$user = $this->userManager->get($wopi->getEditorUid());
if($user !== null) {
$response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => $wopi->getEditorUid(), 'size' => self::WOPI_AVATAR_SIZE]);
+ if ($this->groupManager->isAdmin($wopi->getEditorUid())) {
+ $response['UserExtraInfo']['is_admin'] = true;
+ }
} else {
$response['UserExtraInfo']['avatar'] = $this->urlGenerator->linkToRouteAbsolute('core.GuestAvatar.getAvatar', ['guestName' => urlencode($wopi->getGuestDisplayname()), 'size' => self::WOPI_AVATAR_SIZE]);
}