@@ -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