diff --git a/apps/settings/lib/Controller/CommonSettingsTrait.php b/apps/settings/lib/Controller/CommonSettingsTrait.php index c4949339ad569..5e80848504159 100644 --- a/apps/settings/lib/Controller/CommonSettingsTrait.php +++ b/apps/settings/lib/Controller/CommonSettingsTrait.php @@ -136,13 +136,17 @@ private function getIndexResponse(string $type, string $section): TemplateRespon $user = $this->userSession->getUser(); assert($user !== null, 'No user logged in for settings'); - $this->declarativeSettingsManager->loadSchemas(); - $declarativeSettings = $this->declarativeSettingsManager->getFormsWithValues($user, $type, $section); + $declarativeSettings = []; - foreach ($declarativeSettings as &$form) { - foreach ($form['fields'] as &$field) { - if (isset($field['sensitive']) && $field['sensitive'] === true && !empty($field['value'])) { - $field['value'] = 'dummySecret'; + if ($type !== 'admin' || $this->groupManager->isAdmin($user->getUID())) { + $this->declarativeSettingsManager->loadSchemas(); + $declarativeSettings = $this->declarativeSettingsManager->getFormsWithValues($user, $type, $section); + + foreach ($declarativeSettings as &$form) { + foreach ($form['fields'] as &$field) { + if (isset($field['sensitive']) && $field['sensitive'] === true && !empty($field['value'])) { + $field['value'] = 'dummySecret'; + } } } }