Skip to content

Commit fca820a

Browse files
committed
feat(account): allow subadmins to manage group policies
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent b9f3475 commit fca820a

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

lib/Service/AccountService.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
use OCP\Files\IMimeTypeDetector;
3737
use OCP\Files\IRootFolder;
3838
use OCP\Files\NotFoundException;
39+
use OCP\Group\ISubAdmin;
3940
use OCP\Http\Client\IClientService;
4041
use OCP\IAppConfig;
4142
use OCP\IGroupManager;
@@ -73,6 +74,7 @@ public function __construct(
7374
private IURLGenerator $urlGenerator,
7475
private Pkcs12Handler $pkcs12Handler,
7576
private IGroupManager $groupManager,
77+
private ISubAdmin $subAdmin,
7678
private IdDocsService $idDocsService,
7779
private SignerElementsService $signerElementsService,
7880
private UserElementMapper $userElementMapper,
@@ -208,7 +210,8 @@ public function getConfig(?IUser $user = null): array {
208210
$info['files_list_sorting_mode'] = $this->getUserConfigByKey('files_list_sorting_mode', $user) ?: 'name';
209211
$info['files_list_sorting_direction'] = $this->getUserConfigByKey('files_list_sorting_direction', $user) ?: 'asc';
210212
$info['policy_workbench_catalog_compact_view'] = $this->getUserConfigByKey('policy_workbench_catalog_compact_view', $user) === '1';
211-
$info['can_manage_group_policies'] = $user !== null && $this->groupManager->isAdmin($user->getUID());
213+
$info['can_manage_group_policies'] = $user !== null
214+
&& ($this->groupManager->isAdmin($user->getUID()) || $this->subAdmin->isSubAdmin($user));
212215

213216
return array_filter($info, static fn (mixed $value): bool => $value !== null && $value !== '');
214217
}

0 commit comments

Comments
 (0)