Merge pull request #19217 from nextcloud/enh/settings/personal
Personal settings cleanup
This commit is contained in:
commit
2f91ac0865
14 changed files with 49 additions and 76 deletions
|
@ -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>
|
||||
|
|
|
@ -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',
|
||||
);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Settings\Personal;
|
||||
namespace OCA\Settings\Settings\Personal;
|
||||
|
||||
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Settings\Personal;
|
||||
namespace OCA\Settings\Settings\Personal;
|
||||
|
||||
use OC\Accounts\AccountManager;
|
||||
use OCA\FederatedFileSharing\AppInfo\Application;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
]);
|
||||
}
|
|
@ -23,7 +23,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Settings\Personal;
|
||||
namespace OCA\Settings\Settings\Personal;
|
||||
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\Settings\ISettings;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
|
@ -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;
|
||||
|
@ -272,39 +272,6 @@ class Manager implements IManager {
|
|||
return $forms;
|
||||
}
|
||||
|
||||
/**
|
||||
* @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
|
||||
*/
|
||||
|
@ -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) {
|
||||
|
|
|
@ -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');
|
||||
|
|
Loading…
Reference in a new issue