Skip to content

Commit a234217

Browse files
committed
Allow sub-admins to access delegated settings.
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
1 parent 764e452 commit a234217

1 file changed

Lines changed: 11 additions & 14 deletions

File tree

lib/private/Settings/Manager.php

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -335,23 +335,20 @@ public function getPersonalSettings($section): array {
335335

336336
public function getAllowedAdminSettings(string $section, IUser $user): array {
337337
$isAdmin = $this->groupManager->isAdmin($user->getUID());
338-
$isSubAdmin = $this->subAdmin->isSubAdmin($user);
339-
$subAdminOnly = !$isAdmin && $isSubAdmin;
340-
341-
if ($subAdminOnly) {
342-
// not an admin => look if the user is still authorized to access some
343-
// settings
344-
$subAdminSettingsFilter = function (ISettings $settings) {
345-
return $settings instanceof ISubAdminSettings;
346-
};
347-
$appSettings = $this->getSettings('admin', $section, $subAdminSettingsFilter);
348-
} elseif ($isAdmin) {
338+
if ($isAdmin) {
349339
$appSettings = $this->getSettings('admin', $section);
350340
} else {
351341
$authorizedSettingsClasses = $this->mapper->findAllClassesForUser($user);
352-
$authorizedGroupFilter = function (ISettings $settings) use ($authorizedSettingsClasses) {
353-
return in_array(get_class($settings), $authorizedSettingsClasses) === true;
354-
};
342+
if ($this->subAdmin->isSubAdmin($user)) {
343+
$authorizedGroupFilter = function (ISettings $settings) use ($authorizedSettingsClasses) {
344+
return $settings instanceof ISubAdminSettings
345+
|| in_array(get_class($settings), $authorizedSettingsClasses) === true;
346+
};
347+
} else {
348+
$authorizedGroupFilter = function (ISettings $settings) use ($authorizedSettingsClasses) {
349+
return in_array(get_class($settings), $authorizedSettingsClasses) === true;
350+
};
351+
}
355352
$appSettings = $this->getSettings('admin', $section, $authorizedGroupFilter);
356353
}
357354

0 commit comments

Comments
 (0)