diff options
14 files changed, 49 insertions, 76 deletions
diff --git a/apps/settings/appinfo/info.xml b/apps/settings/appinfo/info.xml index d86e5395efc..d77d8690b44 100644 --- a/apps/settings/appinfo/info.xml +++ b/apps/settings/appinfo/info.xml @@ -24,6 +24,11 @@ <admin-section>OCA\Settings\Sections\Admin\Security</admin-section> <admin-section>OCA\Settings\Sections\Admin\Server</admin-section> <admin-section>OCA\Settings\Sections\Admin\Sharing</admin-section> + <personal>OCA\Settings\Settings\Personal\Additional</personal> + <personal>OCA\Settings\Settings\Personal\PersonalInfo</personal> + <personal>OCA\Settings\Settings\Personal\ServerDevNotice</personal> + <personal>OCA\Settings\Settings\Personal\Security\Authtokens</personal> + <personal>OCA\Settings\Settings\Personal\Security\Password</personal> <personal>OCA\Settings\Settings\Personal\Security\TwoFactor</personal> <personal-section>OCA\Settings\Sections\Personal\PersonalInfo</personal-section> <personal-section>OCA\Settings\Sections\Personal\Security</personal-section> diff --git a/apps/settings/composer/composer/autoload_classmap.php b/apps/settings/composer/composer/autoload_classmap.php index cf7963ef901..c68f3d85279 100644 --- a/apps/settings/composer/composer/autoload_classmap.php +++ b/apps/settings/composer/composer/autoload_classmap.php @@ -36,11 +36,6 @@ return array( 'OCA\\Settings\\Hooks' => $baseDir . '/../lib/Hooks.php', 'OCA\\Settings\\Mailer\\NewUserMailHelper' => $baseDir . '/../lib/Mailer/NewUserMailHelper.php', 'OCA\\Settings\\Middleware\\SubadminMiddleware' => $baseDir . '/../lib/Middleware/SubadminMiddleware.php', - 'OCA\\Settings\\Personal\\Additional' => $baseDir . '/../lib/Settings/Personal/Additional.php', - 'OCA\\Settings\\Personal\\PersonalInfo' => $baseDir . '/../lib/Settings/Personal/PersonalInfo.php', - 'OCA\\Settings\\Personal\\Security' => $baseDir . '/../lib/Settings/Personal/Security.php', - 'OCA\\Settings\\Personal\\Security\\Authtokens' => $baseDir . '/../lib/Settings/Personal/Security/Authtokens.php', - 'OCA\\Settings\\Personal\\ServerDevNotice' => $baseDir . '/../lib/Settings/Personal/ServerDevNotice.php', 'OCA\\Settings\\Sections\\Admin\\Additional' => $baseDir . '/../lib/Sections/Admin/Additional.php', 'OCA\\Settings\\Sections\\Admin\\Groupware' => $baseDir . '/../lib/Sections/Admin/Groupware.php', 'OCA\\Settings\\Sections\\Admin\\Overview' => $baseDir . '/../lib/Sections/Admin/Overview.php', @@ -50,5 +45,10 @@ 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\\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', + 'OCA\\Settings\\Settings\\Personal\\Security\\Password' => $baseDir . '/../lib/Settings/Personal/Security/Password.php', 'OCA\\Settings\\Settings\\Personal\\Security\\TwoFactor' => $baseDir . '/../lib/Settings/Personal/Security/TwoFactor.php', + 'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => $baseDir . '/../lib/Settings/Personal/ServerDevNotice.php', ); diff --git a/apps/settings/composer/composer/autoload_static.php b/apps/settings/composer/composer/autoload_static.php index f9805dcff11..41b2ad27271 100644 --- a/apps/settings/composer/composer/autoload_static.php +++ b/apps/settings/composer/composer/autoload_static.php @@ -51,11 +51,6 @@ class ComposerStaticInitSettings 'OCA\\Settings\\Hooks' => __DIR__ . '/..' . '/../lib/Hooks.php', 'OCA\\Settings\\Mailer\\NewUserMailHelper' => __DIR__ . '/..' . '/../lib/Mailer/NewUserMailHelper.php', 'OCA\\Settings\\Middleware\\SubadminMiddleware' => __DIR__ . '/..' . '/../lib/Middleware/SubadminMiddleware.php', - 'OCA\\Settings\\Personal\\Additional' => __DIR__ . '/..' . '/../lib/Settings/Personal/Additional.php', - 'OCA\\Settings\\Personal\\PersonalInfo' => __DIR__ . '/..' . '/../lib/Settings/Personal/PersonalInfo.php', - 'OCA\\Settings\\Personal\\Security' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security.php', - 'OCA\\Settings\\Personal\\Security\\Authtokens' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/Authtokens.php', - 'OCA\\Settings\\Personal\\ServerDevNotice' => __DIR__ . '/..' . '/../lib/Settings/Personal/ServerDevNotice.php', 'OCA\\Settings\\Sections\\Admin\\Additional' => __DIR__ . '/..' . '/../lib/Sections/Admin/Additional.php', 'OCA\\Settings\\Sections\\Admin\\Groupware' => __DIR__ . '/..' . '/../lib/Sections/Admin/Groupware.php', 'OCA\\Settings\\Sections\\Admin\\Overview' => __DIR__ . '/..' . '/../lib/Sections/Admin/Overview.php', @@ -65,7 +60,12 @@ 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\\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', + 'OCA\\Settings\\Settings\\Personal\\Security\\Password' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/Password.php', 'OCA\\Settings\\Settings\\Personal\\Security\\TwoFactor' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/TwoFactor.php', + 'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => __DIR__ . '/..' . '/../lib/Settings/Personal/ServerDevNotice.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/apps/settings/lib/Settings/Personal/Additional.php b/apps/settings/lib/Settings/Personal/Additional.php index 2fc710b88c3..ab128afe9a8 100644 --- a/apps/settings/lib/Settings/Personal/Additional.php +++ b/apps/settings/lib/Settings/Personal/Additional.php @@ -22,7 +22,7 @@ * */ -namespace OCA\Settings\Personal; +namespace OCA\Settings\Settings\Personal; use OCP\AppFramework\Http\TemplateResponse; diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php index a91be782431..c8d9b3f8128 100644 --- a/apps/settings/lib/Settings/Personal/PersonalInfo.php +++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php @@ -29,7 +29,7 @@ * */ -namespace OCA\Settings\Personal; +namespace OCA\Settings\Settings\Personal; use OC\Accounts\AccountManager; use OCA\FederatedFileSharing\AppInfo\Application; diff --git a/apps/settings/lib/Settings/Personal/Security/Authtokens.php b/apps/settings/lib/Settings/Personal/Security/Authtokens.php index 1944670b2ea..93019766663 100644 --- a/apps/settings/lib/Settings/Personal/Security/Authtokens.php +++ b/apps/settings/lib/Settings/Personal/Security/Authtokens.php @@ -25,7 +25,7 @@ declare(strict_types=1); * */ -namespace OCA\Settings\Personal\Security; +namespace OCA\Settings\Settings\Personal\Security; use OCP\IUserSession; use function array_map; diff --git a/apps/settings/lib/Settings/Personal/Security.php b/apps/settings/lib/Settings/Personal/Security/Password.php index f571be0c220..06e82f6e4c3 100644 --- a/apps/settings/lib/Settings/Personal/Security.php +++ b/apps/settings/lib/Settings/Personal/Security/Password.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de> * @@ -25,13 +26,13 @@ * */ -namespace OCA\Settings\Personal; +namespace OCA\Settings\Settings\Personal\Security; use OCP\AppFramework\Http\TemplateResponse; use OCP\IUserManager; use OCP\Settings\ISettings; -class Security implements ISettings { +class Password implements ISettings { /** @var IUserManager */ private $userManager; @@ -52,7 +53,7 @@ class Security implements ISettings { $passwordChangeSupported = $user->canChangePassword(); } - return new TemplateResponse('settings', 'settings/personal/security', [ + return new TemplateResponse('settings', 'settings/personal/security/password', [ 'passwordChangeSupported' => $passwordChangeSupported, ]); } diff --git a/apps/settings/lib/Settings/Personal/ServerDevNotice.php b/apps/settings/lib/Settings/Personal/ServerDevNotice.php index b5cf8c2c49c..f69863fe35e 100644 --- a/apps/settings/lib/Settings/Personal/ServerDevNotice.php +++ b/apps/settings/lib/Settings/Personal/ServerDevNotice.php @@ -23,7 +23,7 @@ * */ -namespace OCA\Settings\Personal; +namespace OCA\Settings\Settings\Personal; use OCP\AppFramework\Http\TemplateResponse; use OCP\Settings\ISettings; diff --git a/apps/settings/templates/settings/personal/security.php b/apps/settings/templates/settings/personal/security/password.php index 23959f7d9c2..23959f7d9c2 100644 --- a/apps/settings/templates/settings/personal/security.php +++ b/apps/settings/templates/settings/personal/security/password.php diff --git a/apps/settings/tests/Controller/AdminSettingsControllerTest.php b/apps/settings/tests/Controller/AdminSettingsControllerTest.php index ee8672691fc..9a82fd97854 100644 --- a/apps/settings/tests/Controller/AdminSettingsControllerTest.php +++ b/apps/settings/tests/Controller/AdminSettingsControllerTest.php @@ -28,7 +28,7 @@ namespace OCA\Settings\Tests\Controller; use OCA\Settings\Controller\AdminSettingsController; -use OCA\Settings\Personal\ServerDevNotice; +use OCA\Settings\Settings\Personal\ServerDevNotice; use OCP\AppFramework\Http\TemplateResponse; use OCP\Group\ISubAdmin; use OCP\IGroupManager; diff --git a/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php b/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php index 6837fc101c4..1f85f49106a 100644 --- a/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php +++ b/apps/settings/tests/Settings/Personal/Security/AuthtokensTest.php @@ -29,8 +29,7 @@ namespace OCA\Settings\Tests\Settings\Personal\Security; use OC\Authentication\Token\DefaultToken; use OC\Authentication\Token\IProvider as IAuthTokenProvider; -use OCA\Settings\Personal\Security; -use OCA\Settings\Personal\Security\Authtokens; +use OCA\Settings\Settings\Personal\Security\Authtokens; use OCP\AppFramework\Http\TemplateResponse; use OCP\IInitialStateService; use OCP\ISession; @@ -55,7 +54,7 @@ class AuthtokensTest extends TestCase { /** @var string */ private $uid; - /** @var Security\Authtokens */ + /** @var Authtokens */ private $section; protected function setUp(): void { diff --git a/apps/settings/tests/Settings/Personal/SecurityTest.php b/apps/settings/tests/Settings/Personal/Security/PasswordTest.php index 103bd9dae92..8eb4c022e71 100644 --- a/apps/settings/tests/Settings/Personal/SecurityTest.php +++ b/apps/settings/tests/Settings/Personal/Security/PasswordTest.php @@ -1,5 +1,4 @@ <?php - declare(strict_types=1); /** @@ -26,19 +25,16 @@ declare(strict_types=1); * */ -namespace OCA\Settings\Tests\Settings\Personal; +namespace OCA\Settings\Tests\Settings\Personal\Security; -use OC\Authentication\TwoFactorAuth\ProviderLoader; -use OCA\Settings\Personal\Security; +use OCA\Settings\Settings\Personal\Security\Password; use OCP\AppFramework\Http\TemplateResponse; -use OCP\IConfig; use OCP\IUser; use OCP\IUserManager; -use OCP\IUserSession; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; -class SecurityTest extends TestCase { +class PasswordTest extends TestCase { /** @var IUserManager|MockObject */ private $userManager; @@ -46,7 +42,7 @@ class SecurityTest extends TestCase { /** @var string */ private $uid; - /** @var Security */ + /** @var Password */ private $section; protected function setUp(): void { @@ -55,7 +51,7 @@ class SecurityTest extends TestCase { $this->userManager = $this->createMock(IUserManager::class); $this->uid = 'test123'; - $this->section = new Security( + $this->section = new Password( $this->userManager, $this->uid ); @@ -73,7 +69,7 @@ class SecurityTest extends TestCase { $form = $this->section->getForm(); - $expected = new TemplateResponse('settings', 'settings/personal/security', [ + $expected = new TemplateResponse('settings', 'settings/personal/security/password', [ 'passwordChangeSupported' => true, ]); $this->assertEquals($expected, $form); diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 87ef74aabaa..8018ecaba61 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -175,7 +175,7 @@ class Manager implements IManager { try { /** @var ISettings $setting */ - $setting = \OC::$server->query($class); + $setting = $this->container->query($class); } catch (QueryException $e) { $this->log->logException($e, ['level' => ILogger::INFO]); continue; @@ -273,39 +273,6 @@ class Manager implements IManager { } /** - * @param string $section - * - * @return ISection[] - */ - private function getBuiltInPersonalSettings($section): array { - $forms = []; - - if ($section === 'personal-info') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Personal\PersonalInfo::class); - $forms[$form->getPriority()] = [$form]; - $form = new \OCA\Settings\Personal\ServerDevNotice(); - $forms[$form->getPriority()] = [$form]; - } - if ($section === 'security') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Personal\Security::class); - $forms[$form->getPriority()] = [$form]; - - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Personal\Security\Authtokens::class); - $forms[$form->getPriority()] = [$form]; - } - if ($section === 'additional') { - /** @var ISettings $form */ - $form = $this->container->query(\OCA\Settings\Personal\Additional::class); - $forms[$form->getPriority()] = [$form]; - } - - return $forms; - } - - /** * @inheritdoc */ public function getAdminSettings($section, bool $subAdminOnly = false): array { @@ -380,7 +347,7 @@ class Manager implements IManager { * @inheritdoc */ public function getPersonalSettings($section): array { - $settings = $this->getBuiltInPersonalSettings($section); + $settings = []; $appSettings = $this->getSettings('personal', $section); foreach ($appSettings as $setting) { diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php index 3980990c7b1..06eafb6528b 100644 --- a/tests/lib/Settings/ManagerTest.php +++ b/tests/lib/Settings/ManagerTest.php @@ -24,15 +24,14 @@ namespace OCA\Settings\Tests\AppInfo; use OC\Settings\Manager; -use OC\Settings\Section; use OCA\Settings\Admin\Sharing; -use OCA\Settings\Personal\Security; use OCP\IDBConnection; use OCP\IL10N; use OCP\ILogger; use OCP\IServerContainer; use OCP\IURLGenerator; use OCP\L10N\IFactory; +use OCP\Settings\ISettings; use OCP\Settings\ISubAdminSettings; use Test\TestCase; @@ -149,21 +148,27 @@ class ManagerTest extends TestCase { } public function testGetPersonalSettings() { - $section = $this->createMock(Security::class); - $section->expects($this->once()) - ->method('getPriority') + $section = $this->createMock(ISettings::class); + $section->method('getPriority') ->willReturn(16); - $section2 = $this->createMock(Security\Authtokens::class); - $section2->expects($this->once()) - ->method('getPriority') + $section->method('getSection') + ->willReturn('security'); + $section2 = $this->createMock(ISettings::class); + $section2->method('getPriority') ->willReturn(100); + $section2->method('getSection') + ->willReturn('security'); + + $this->manager->registerSetting('personal', 'section1'); + $this->manager->registerSetting('personal', 'section2'); + $this->container->expects($this->at(0)) ->method('query') - ->with(Security::class) + ->with('section1') ->willReturn($section); $this->container->expects($this->at(1)) ->method('query') - ->with(Security\Authtokens::class) + ->with('section2') ->willReturn($section2); $settings = $this->manager->getPersonalSettings('security'); |