diff --git a/apps/settings/appinfo/info.xml b/apps/settings/appinfo/info.xml index f2325c3afca73f89c9e30ca11f68f0f6113b876c..2513b9a20faa83ba0b3b5225b447691cd1b61953 100644 --- a/apps/settings/appinfo/info.xml +++ b/apps/settings/appinfo/info.xml @@ -18,6 +18,11 @@ </dependencies> <settings> + <admin>OCA\Settings\Settings\Admin\Mail</admin> + <admin>OCA\Settings\Settings\Admin\Overview</admin> + <admin>OCA\Settings\Settomgs\Admin\Security</admin> + <admin>OCA\Settings\Settings\Admin\Server</admin> + <admin>OCA\Settings\Settings\Admin\Sharing</admin> <admin-section>OCA\Settings\Sections\Admin\Additional</admin-section> <admin-section>OCA\Settings\Sections\Admin\Groupware</admin-section> <admin-section>OCA\Settings\Sections\Admin\Overview</admin-section> diff --git a/apps/settings/composer/composer/autoload_classmap.php b/apps/settings/composer/composer/autoload_classmap.php index c68f3d85279868c6b5bca97a9a4e84357bcc1a2f..841a1aa21eb4378ae8c50b5e1d1471a0b7bf197d 100644 --- a/apps/settings/composer/composer/autoload_classmap.php +++ b/apps/settings/composer/composer/autoload_classmap.php @@ -13,11 +13,6 @@ return array( 'OCA\\Settings\\Activity\\SecurityProvider' => $baseDir . '/../lib/Activity/SecurityProvider.php', 'OCA\\Settings\\Activity\\SecuritySetting' => $baseDir . '/../lib/Activity/SecuritySetting.php', 'OCA\\Settings\\Activity\\Setting' => $baseDir . '/../lib/Activity/Setting.php', - 'OCA\\Settings\\Admin\\Mail' => $baseDir . '/../lib/Settings/Admin/Mail.php', - 'OCA\\Settings\\Admin\\Overview' => $baseDir . '/../lib/Settings/Admin/Overview.php', - 'OCA\\Settings\\Admin\\Security' => $baseDir . '/../lib/Settings/Admin/Security.php', - 'OCA\\Settings\\Admin\\Server' => $baseDir . '/../lib/Settings/Admin/Server.php', - 'OCA\\Settings\\Admin\\Sharing' => $baseDir . '/../lib/Settings/Admin/Sharing.php', 'OCA\\Settings\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php', 'OCA\\Settings\\BackgroundJobs\\VerifyUserData' => $baseDir . '/../lib/BackgroundJobs/VerifyUserData.php', 'OCA\\Settings\\Controller\\AdminSettingsController' => $baseDir . '/../lib/Controller/AdminSettingsController.php', @@ -45,6 +40,11 @@ return array( 'OCA\\Settings\\Sections\\Personal\\PersonalInfo' => $baseDir . '/../lib/Sections/Personal/PersonalInfo.php', 'OCA\\Settings\\Sections\\Personal\\Security' => $baseDir . '/../lib/Sections/Personal/Security.php', 'OCA\\Settings\\Sections\\Personal\\SyncClients' => $baseDir . '/../lib/Sections/Personal/SyncClients.php', + 'OCA\\Settings\\Settings\\Admin\\Mail' => $baseDir . '/../lib/Settings/Admin/Mail.php', + 'OCA\\Settings\\Settings\\Admin\\Overview' => $baseDir . '/../lib/Settings/Admin/Overview.php', + 'OCA\\Settings\\Settings\\Admin\\Security' => $baseDir . '/../lib/Settings/Admin/Security.php', + 'OCA\\Settings\\Settings\\Admin\\Server' => $baseDir . '/../lib/Settings/Admin/Server.php', + 'OCA\\Settings\\Settings\\Admin\\Sharing' => $baseDir . '/../lib/Settings/Admin/Sharing.php', 'OCA\\Settings\\Settings\\Personal\\Additional' => $baseDir . '/../lib/Settings/Personal/Additional.php', 'OCA\\Settings\\Settings\\Personal\\PersonalInfo' => $baseDir . '/../lib/Settings/Personal/PersonalInfo.php', 'OCA\\Settings\\Settings\\Personal\\Security\\Authtokens' => $baseDir . '/../lib/Settings/Personal/Security/Authtokens.php', diff --git a/apps/settings/composer/composer/autoload_static.php b/apps/settings/composer/composer/autoload_static.php index 41b2ad27271a5afd1a45092b976b47b181aa7e19..bac850545f3d29bc2639f3412e160981d282b503 100644 --- a/apps/settings/composer/composer/autoload_static.php +++ b/apps/settings/composer/composer/autoload_static.php @@ -28,11 +28,6 @@ class ComposerStaticInitSettings 'OCA\\Settings\\Activity\\SecurityProvider' => __DIR__ . '/..' . '/../lib/Activity/SecurityProvider.php', 'OCA\\Settings\\Activity\\SecuritySetting' => __DIR__ . '/..' . '/../lib/Activity/SecuritySetting.php', 'OCA\\Settings\\Activity\\Setting' => __DIR__ . '/..' . '/../lib/Activity/Setting.php', - 'OCA\\Settings\\Admin\\Mail' => __DIR__ . '/..' . '/../lib/Settings/Admin/Mail.php', - 'OCA\\Settings\\Admin\\Overview' => __DIR__ . '/..' . '/../lib/Settings/Admin/Overview.php', - 'OCA\\Settings\\Admin\\Security' => __DIR__ . '/..' . '/../lib/Settings/Admin/Security.php', - 'OCA\\Settings\\Admin\\Server' => __DIR__ . '/..' . '/../lib/Settings/Admin/Server.php', - 'OCA\\Settings\\Admin\\Sharing' => __DIR__ . '/..' . '/../lib/Settings/Admin/Sharing.php', 'OCA\\Settings\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php', 'OCA\\Settings\\BackgroundJobs\\VerifyUserData' => __DIR__ . '/..' . '/../lib/BackgroundJobs/VerifyUserData.php', 'OCA\\Settings\\Controller\\AdminSettingsController' => __DIR__ . '/..' . '/../lib/Controller/AdminSettingsController.php', @@ -60,6 +55,11 @@ class ComposerStaticInitSettings 'OCA\\Settings\\Sections\\Personal\\PersonalInfo' => __DIR__ . '/..' . '/../lib/Sections/Personal/PersonalInfo.php', 'OCA\\Settings\\Sections\\Personal\\Security' => __DIR__ . '/..' . '/../lib/Sections/Personal/Security.php', 'OCA\\Settings\\Sections\\Personal\\SyncClients' => __DIR__ . '/..' . '/../lib/Sections/Personal/SyncClients.php', + 'OCA\\Settings\\Settings\\Admin\\Mail' => __DIR__ . '/..' . '/../lib/Settings/Admin/Mail.php', + 'OCA\\Settings\\Settings\\Admin\\Overview' => __DIR__ . '/..' . '/../lib/Settings/Admin/Overview.php', + 'OCA\\Settings\\Settings\\Admin\\Security' => __DIR__ . '/..' . '/../lib/Settings/Admin/Security.php', + 'OCA\\Settings\\Settings\\Admin\\Server' => __DIR__ . '/..' . '/../lib/Settings/Admin/Server.php', + 'OCA\\Settings\\Settings\\Admin\\Sharing' => __DIR__ . '/..' . '/../lib/Settings/Admin/Sharing.php', 'OCA\\Settings\\Settings\\Personal\\Additional' => __DIR__ . '/..' . '/../lib/Settings/Personal/Additional.php', 'OCA\\Settings\\Settings\\Personal\\PersonalInfo' => __DIR__ . '/..' . '/../lib/Settings/Personal/PersonalInfo.php', 'OCA\\Settings\\Settings\\Personal\\Security\\Authtokens' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/Authtokens.php', diff --git a/apps/settings/lib/Settings/Admin/Mail.php b/apps/settings/lib/Settings/Admin/Mail.php index 387fb5f475bf575344b2e72d74df1b865d7cb7fe..4ad22cbc21643a91f07064fc1ee4f1cb6af60fb1 100644 --- a/apps/settings/lib/Settings/Admin/Mail.php +++ b/apps/settings/lib/Settings/Admin/Mail.php @@ -27,7 +27,7 @@ * */ -namespace OCA\Settings\Admin; +namespace OCA\Settings\Settings\Admin; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; diff --git a/apps/settings/lib/Settings/Admin/Overview.php b/apps/settings/lib/Settings/Admin/Overview.php index 4fd9d673c5ba3157c12a4a6e9787b1ed60ee7ea5..3399a425ee8fc87e82128cbb9f619705e9772231 100644 --- a/apps/settings/lib/Settings/Admin/Overview.php +++ b/apps/settings/lib/Settings/Admin/Overview.php @@ -23,7 +23,7 @@ * */ -namespace OCA\Settings\Admin; +namespace OCA\Settings\Settings\Admin; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; diff --git a/apps/settings/lib/Settings/Admin/Security.php b/apps/settings/lib/Settings/Admin/Security.php index 8a804f054fc27d5d92b4c14b12345173a41cfc2a..e5e00928faac2c97fa636e09e1ac92c39382108c 100644 --- a/apps/settings/lib/Settings/Admin/Security.php +++ b/apps/settings/lib/Settings/Admin/Security.php @@ -25,7 +25,7 @@ * */ -namespace OCA\Settings\Admin; +namespace OCA\Settings\Settings\Admin; use OC\Authentication\TwoFactorAuth\MandatoryTwoFactor; use OCP\AppFramework\Http\TemplateResponse; diff --git a/apps/settings/lib/Settings/Admin/Server.php b/apps/settings/lib/Settings/Admin/Server.php index 543e7dbc5929eb382760233c138cae00f0f671f4..6216af4aada06d47c2978a8bb96fff415e1daef3 100644 --- a/apps/settings/lib/Settings/Admin/Server.php +++ b/apps/settings/lib/Settings/Admin/Server.php @@ -25,7 +25,7 @@ * */ -namespace OCA\Settings\Admin; +namespace OCA\Settings\Settings\Admin; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; diff --git a/apps/settings/lib/Settings/Admin/Sharing.php b/apps/settings/lib/Settings/Admin/Sharing.php index 591d6a64b8b895da0bc90b8ab771b8b444704912..c151e7be4e1adaa479df090c740ebdec09e57106 100644 --- a/apps/settings/lib/Settings/Admin/Sharing.php +++ b/apps/settings/lib/Settings/Admin/Sharing.php @@ -27,7 +27,7 @@ * */ -namespace OCA\Settings\Admin; +namespace OCA\Settings\Settings\Admin; use OC\Share\Share; use OCP\AppFramework\Http\TemplateResponse; diff --git a/apps/settings/tests/Settings/Admin/MailTest.php b/apps/settings/tests/Settings/Admin/MailTest.php index fba084133983d5f90fdb6d944f8c356ac1686a37..adb7e2fdbd69d819152a8d37096901f952415fda 100644 --- a/apps/settings/tests/Settings/Admin/MailTest.php +++ b/apps/settings/tests/Settings/Admin/MailTest.php @@ -29,7 +29,7 @@ namespace OCA\Settings\Tests\Settings\Admin; -use OCA\Settings\Admin\Mail; +use OCA\Settings\Settings\Admin\Mail; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use Test\TestCase; diff --git a/apps/settings/tests/Settings/Admin/SecurityTest.php b/apps/settings/tests/Settings/Admin/SecurityTest.php index 69941594c1549bc7985723539db34d55bb07220b..a8a140b2c5d1049264de75ee9a86c19cc11865cf 100644 --- a/apps/settings/tests/Settings/Admin/SecurityTest.php +++ b/apps/settings/tests/Settings/Admin/SecurityTest.php @@ -30,7 +30,7 @@ namespace OCA\Settings\Tests\Settings\Admin; use OC\Authentication\TwoFactorAuth\MandatoryTwoFactor; use OC\Encryption\Manager; -use OCA\Settings\Admin\Security; +use OCA\Settings\Settings\Admin\Security; use OCP\AppFramework\Http\TemplateResponse; use OCP\IInitialStateService; use OCP\IUserManager; diff --git a/apps/settings/tests/Settings/Admin/ServerTest.php b/apps/settings/tests/Settings/Admin/ServerTest.php index 525e43f7d61cbbe0ae827dc814b1ec50488af3e7..aeb37f8d6cc88ed70e712a5dcecdb198ab8bd4ea 100644 --- a/apps/settings/tests/Settings/Admin/ServerTest.php +++ b/apps/settings/tests/Settings/Admin/ServerTest.php @@ -29,7 +29,7 @@ namespace OCA\Settings\Tests\Settings\Admin; -use OCA\Settings\Admin\Server; +use OCA\Settings\Settings\Admin\Server; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; use Test\TestCase; diff --git a/apps/settings/tests/Settings/Admin/SharingTest.php b/apps/settings/tests/Settings/Admin/SharingTest.php index 6bfca5bbc0411073fb2fba72bf1c5509f513ee30..d662c1864dbedb5e7d23263ca2af5799c3c89e17 100644 --- a/apps/settings/tests/Settings/Admin/SharingTest.php +++ b/apps/settings/tests/Settings/Admin/SharingTest.php @@ -28,7 +28,7 @@ namespace OCA\Settings\Tests\Settings\Admin; -use OCA\Settings\Admin\Sharing; +use OCA\Settings\Settings\Admin\Sharing; use OCP\AppFramework\Http\TemplateResponse; use OCP\Constants; use OCP\IConfig; diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 8018ecaba6176ba72acd77e69cca11c800584d2f..ed1d2f45cd7f41d0023739db09c66e390e0a5fd5 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -227,51 +227,6 @@ class Manager implements IManager { return $sections; } - /** - * @param string $section - * @param Closure $filter - * - * @return ISection[] - */ - private function getBuiltInAdminSettings($section, Closure $filter = null): array { - $forms = []; - - if ($section === 'overview') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Admin\Overview::class); - if ($filter === null || $filter($form)) { - $forms[$form->getPriority()] = [$form]; - } - } - if ($section === 'server') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Admin\Server::class); - if ($filter === null || $filter($form)) { - $forms[$form->getPriority()] = [$form]; - } - $form = $this->container->query(\OCA\Settings\Admin\Mail::class); - if ($filter === null || $filter($form)) { - $forms[$form->getPriority()] = [$form]; - } - } - if ($section === 'security') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Admin\Security::class); - if ($filter === null || $filter($form)) { - $forms[$form->getPriority()] = [$form]; - } - } - if ($section === 'sharing') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Admin\Sharing::class); - if ($filter === null || $filter($form)) { - $forms[$form->getPriority()] = [$form]; - } - } - - return $forms; - } - /** * @inheritdoc */ @@ -280,13 +235,12 @@ class Manager implements IManager { $subAdminSettingsFilter = function(ISettings $settings) { return $settings instanceof ISubAdminSettings; }; - $settings = $this->getBuiltInAdminSettings($section, $subAdminSettingsFilter); $appSettings = $this->getSettings('admin', $section, $subAdminSettingsFilter); } else { - $settings = $this->getBuiltInAdminSettings($section); $appSettings = $this->getSettings('admin', $section); } + $settings = []; foreach ($appSettings as $setting) { if (!isset($settings[$setting->getPriority()])) { $settings[$setting->getPriority()] = []; diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php index 06eafb6528bee64f2626d580c22ab94b882a5174..bce547c9a29a223f57de8a2a6cb2c06f34d1595d 100644 --- a/tests/lib/Settings/ManagerTest.php +++ b/tests/lib/Settings/ManagerTest.php @@ -102,15 +102,16 @@ class ManagerTest extends TestCase { } public function testGetAdminSettings() { - $section = $this->createMock(Sharing::class); - $section->expects($this->once()) - ->method('getPriority') + $section = $this->createMock(ISettings::class); + $section->method('getPriority') ->willReturn(13); - $this->container->expects($this->once()) - ->method('query') - ->with(Sharing::class) + $section->method('getSection') + ->willReturn('sharing'); + $this->container->method('query') + ->with('myAdminClass') ->willReturn($section); + $this->manager->registerSetting('admin', 'myAdminClass'); $settings = $this->manager->getAdminSettings('sharing'); $this->assertEquals([ @@ -119,12 +120,16 @@ class ManagerTest extends TestCase { } public function testGetAdminSettingsAsSubAdmin() { - $section = $this->createMock(Sharing::class); - $this->container->expects($this->once()) - ->method('query') - ->with(Sharing::class) + $section = $this->createMock(ISettings::class); + $section->method('getPriority') + ->willReturn(13); + $section->method('getSection') + ->willReturn('sharing'); + $this->container->method('query') + ->with('myAdminClass') ->willReturn($section); + $this->manager->registerSetting('admin', 'myAdminClass'); $settings = $this->manager->getAdminSettings('sharing', true); $this->assertEquals([], $settings); @@ -132,14 +137,16 @@ class ManagerTest extends TestCase { public function testGetSubAdminSettingsAsSubAdmin() { $section = $this->createMock(ISubAdminSettings::class); - $section->expects($this->once()) - ->method('getPriority') + $section->method('getPriority') ->willReturn(13); + $section->method('getSection') + ->willReturn('sharing'); $this->container->expects($this->once()) ->method('query') - ->with(Sharing::class) + ->with('mySubAdminClass') ->willReturn($section); + $this->manager->registerSetting('admin', 'mySubAdminClass'); $settings = $this->manager->getAdminSettings('sharing', true); $this->assertEquals([