diff options
author | Michael Weimann <mail@michael-weimann.eu> | 2019-01-14 02:05:11 +0300 |
---|---|---|
committer | Michael Weimann <mail@michael-weimann.eu> | 2019-01-14 02:08:26 +0300 |
commit | 2cd3fd3dc2b31e460ac8ff887a360e14e542ea1c (patch) | |
tree | bc27562327f69f7bea9185151f7255025cadd4a1 | |
parent | d7158402dd58197bbead7e5a6f45a9b5c233083d (diff) |
Move server info to theming section
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
-rw-r--r-- | apps/theming/lib/Settings/Section.php | 83 | ||||
-rw-r--r-- | apps/theming/tests/ServicesTest.php | 4 | ||||
-rw-r--r-- | apps/theming/tests/Settings/SectionTest.php | 77 | ||||
-rw-r--r-- | lib/private/Settings/Manager.php | 7 | ||||
-rw-r--r-- | lib/private/Settings/Personal/PersonalInfo.php | 4 | ||||
-rw-r--r-- | lib/private/Settings/Theming/ServerInfo.php (renamed from lib/private/Settings/Admin/ServerInfo.php) | 6 | ||||
-rw-r--r-- | settings/Controller/ServerInfoSettingsController.php | 2 | ||||
-rw-r--r-- | settings/img/theming-dark.svg | 1 | ||||
-rw-r--r-- | settings/templates/settings/admin/server-info.php | 2 | ||||
-rw-r--r-- | tests/Settings/Controller/ServerInfoSettingsControllerTest.php | 2 | ||||
-rw-r--r-- | tests/lib/Settings/ManagerTest.php | 12 |
11 files changed, 23 insertions, 177 deletions
diff --git a/apps/theming/lib/Settings/Section.php b/apps/theming/lib/Settings/Section.php deleted file mode 100644 index 9ec990ebe48..00000000000 --- a/apps/theming/lib/Settings/Section.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> - * - * @author Arthur Schiwon <blizzz@arthur-schiwon.de> - * @author Joas Schilling <coding@schilljs.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace OCA\Theming\Settings; - -use OCP\IL10N; -use OCP\IURLGenerator; -use OCP\Settings\IIconSection; - -class Section implements IIconSection { - /** @var IL10N */ - private $l; - /** @var IURLGenerator */ - private $url; - - /** - * @param IURLGenerator $url - * @param IL10N $l - */ - public function __construct(IURLGenerator $url, IL10N $l) { - $this->url = $url; - $this->l = $l; - } - - /** - * returns the ID of the section. It is supposed to be a lower case string, - * e.g. 'ldap' - * - * @returns string - */ - public function getID() { - return 'theming'; - } - - /** - * returns the translated name as it should be displayed, e.g. 'LDAP / AD - * integration'. Use the L10N service to translate it. - * - * @return string - */ - public function getName() { - return $this->l->t('Theming'); - } - - /** - * @return int whether the form should be rather on the top or bottom of - * the settings navigation. The sections are arranged in ascending order of - * the priority values. It is required to return a value between 0 and 99. - * - * E.g.: 70 - */ - public function getPriority() { - return 30; - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return $this->url->imagePath('theming', 'app-dark.svg'); - } -} diff --git a/apps/theming/tests/ServicesTest.php b/apps/theming/tests/ServicesTest.php index a46e28235f5..baf7c6edc88 100644 --- a/apps/theming/tests/ServicesTest.php +++ b/apps/theming/tests/ServicesTest.php @@ -26,13 +26,11 @@ namespace OCA\Theming\Tests; use OCA\Theming\Capabilities; use OCA\Theming\Controller\ThemingController; use OCA\Theming\Settings\Admin; -use OCA\Theming\Settings\Section; use OCA\Theming\ThemingDefaults; use OCA\Theming\Util; use OCP\AppFramework\App; use OCP\Capabilities\ICapability; use OCP\IL10N; -use OCP\Settings\ISection; use OCP\Settings\ISettings; use Test\TestCase; @@ -72,8 +70,6 @@ class ServicesTest extends TestCase { // Settings [Admin::class], [Admin::class, ISettings::class], - [Section::class], - [Section::class, ISection::class], ]; } diff --git a/apps/theming/tests/Settings/SectionTest.php b/apps/theming/tests/Settings/SectionTest.php deleted file mode 100644 index 09abf9e34f5..00000000000 --- a/apps/theming/tests/Settings/SectionTest.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch> - * - * @author Joas Schilling <coding@schilljs.com> - * @author Lukas Reschke <lukas@statuscode.ch> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -namespace OCA\Theming\Tests\Settings; - -use OCA\Theming\Settings\Section; -use OCP\IL10N; -use OCP\IURLGenerator; -use Test\TestCase; - -class SectionTest extends TestCase { - /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */ - private $url; - /** @var IL10N|\PHPUnit_Framework_MockObject_MockObject */ - private $l; - /** @var Section */ - private $section; - - public function setUp() { - parent::setUp(); - $this->url = $this->createMock(IURLGenerator::class); - $this->l = $this->createMock(IL10N::class); - - $this->section = new Section( - $this->url, - $this->l - ); - } - - public function testGetID() { - $this->assertSame('theming', $this->section->getID()); - } - - public function testGetName() { - $this->l - ->expects($this->once()) - ->method('t') - ->with('Theming') - ->willReturn('Theming'); - - $this->assertSame('Theming', $this->section->getName()); - } - - public function testGetPriority() { - $this->assertSame(30, $this->section->getPriority()); - } - - public function testGetIcon() { - $this->url->expects($this->once()) - ->method('imagePath') - ->with('theming', 'app-dark.svg') - ->willReturn('icon'); - - $this->assertSame('icon', $this->section->getIcon()); - } -} diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index e20afd44038..3f72557d8ec 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -192,6 +192,7 @@ class Manager implements IManager { 1 => [new Section('server', $this->l->t('Basic settings'), 0, $this->url->imagePath('core', 'actions/settings-dark.svg'))], 5 => [new Section('sharing', $this->l->t('Sharing'), 0, $this->url->imagePath('core', 'actions/share.svg'))], 10 => [new Section('security', $this->l->t('Security'), 0, $this->url->imagePath('core', 'actions/password.svg'))], + 30 => [new Section('theming', $this->l->t('Theming'), 0, $this->url->imagePath('settings', 'theming-dark.svg'))], 50 => [new Section('groupware', $this->l->t('Groupware'), 0, $this->url->imagePath('core', 'places/contacts.svg'))], 98 => [new Section('additional', $this->l->t('Additional settings'), 0, $this->url->imagePath('core', 'actions/settings-dark.svg'))], ]; @@ -231,14 +232,16 @@ class Manager implements IManager { $forms[$form->getPriority()] = [$form]; $form = $this->container->query(Admin\Mail::class); $forms[$form->getPriority()] = [$form]; - $form = $this->container->query(Admin\ServerInfo::class); - $forms[$form->getPriority()] = [$form]; } if ($section === 'security') { /** @var ISettings $form */ $form = $this->container->query(Admin\Security::class); $forms[$form->getPriority()] = [$form]; } + if ($section === 'theming') { + $form = $this->container->query(Theming\ServerInfo::class); + $forms[$form->getPriority()] = [$form]; + } if ($section === 'sharing') { /** @var ISettings $form */ $form = $this->container->query(Admin\Sharing::class); diff --git a/lib/private/Settings/Personal/PersonalInfo.php b/lib/private/Settings/Personal/PersonalInfo.php index 444600f967a..f3163abff92 100644 --- a/lib/private/Settings/Personal/PersonalInfo.php +++ b/lib/private/Settings/Personal/PersonalInfo.php @@ -26,7 +26,7 @@ namespace OC\Settings\Personal; use OC\Accounts\AccountManager; -use OC\Settings\Admin\ServerInfo; +use OC\Settings\Theming\ServerInfo; use OCA\FederatedFileSharing\AppInfo\Application; use OCP\App\IAppManager; use OCP\AppFramework\Http\TemplateResponse; @@ -217,7 +217,7 @@ class PersonalInfo implements ISettings { $userLang = $languages['commonlanguages'][$userLangIndex]; // search in the other languages if ($userLangIndex === false) { - $userLangIndex = array_search($userConfLang, array_column($languages['languages'], 'code')); + $userLangIndex = array_search($userConfLang, array_column($languages['languages'], 'code')); $userLang = $languages['languages'][$userLangIndex]; } // if user language is not available but set somehow: show the actual code as name diff --git a/lib/private/Settings/Admin/ServerInfo.php b/lib/private/Settings/Theming/ServerInfo.php index 8ac4f890504..a5cfdd41f52 100644 --- a/lib/private/Settings/Admin/ServerInfo.php +++ b/lib/private/Settings/Theming/ServerInfo.php @@ -20,7 +20,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -namespace OC\Settings\Admin; +namespace OC\Settings\Theming; use OCP\AppFramework\Http\TemplateResponse; use OCP\IConfig; @@ -104,7 +104,7 @@ class ServerInfo implements ISettings { * @return string */ public function getSection() { - return 'server-info'; + return 'theming'; } /** @@ -115,7 +115,7 @@ class ServerInfo implements ISettings { * priority values. It is required to return a value between 0 and 100. */ public function getPriority() { - return 20; + return 10; } } diff --git a/settings/Controller/ServerInfoSettingsController.php b/settings/Controller/ServerInfoSettingsController.php index d1f411592d4..29d36b2e196 100644 --- a/settings/Controller/ServerInfoSettingsController.php +++ b/settings/Controller/ServerInfoSettingsController.php @@ -22,7 +22,7 @@ namespace OC\Settings\Controller; -use OC\Settings\Admin\ServerInfo; +use OC\Settings\Theming\ServerInfo; use OCP\AppFramework\Controller; use OCP\IConfig; use OCP\IRequest; diff --git a/settings/img/theming-dark.svg b/settings/img/theming-dark.svg new file mode 100644 index 00000000000..adf97966c41 --- /dev/null +++ b/settings/img/theming-dark.svg @@ -0,0 +1 @@ +<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.707 11.412l-.587-.587-.03-.03a.513.513 0 0 1-.074-.526L13.07 3.4l-1.5-1.498-.15.15-.708-.706.505-.505a.538.538 0 0 1 .224-.128c.04-.01.05-.01.087-.016h.087c.04.006.05.006.086.016.072.02.134.055.192.1.74.676 1.42 1.415 2.127 2.124a.503.503 0 0 1 .103.556l-3.053 6.87.344.343.49-.49 3.01 3.01a1.192 1.192 0 0 1-1.685 1.686l-3.012-3.01.49-.488zm-.533-10.217a.986.986 0 0 0-1.396 0l-7.582 7.58a.99.99 0 0 0 0 1.398l1.397 1.396a.986.986 0 0 0 1.396 0l7.58-7.583a.988.988 0 0 0 0-1.396l-1.396-1.395z" fill="#000"/></svg> diff --git a/settings/templates/settings/admin/server-info.php b/settings/templates/settings/admin/server-info.php index 3690da6d3b4..ac6cf48ee80 100644 --- a/settings/templates/settings/admin/server-info.php +++ b/settings/templates/settings/admin/server-info.php @@ -57,7 +57,7 @@ placeholder="<?php p($l->t('company or person')); ?>"> </div> <div> - <label class="label" for="providerWebsite"><?php p($l->t('Website')); ?></label> + <label class="label" for="providerWebsite"><?php p($l->t('Provider website')); ?></label> <input class="form-input" id="providerWebsite" diff --git a/tests/Settings/Controller/ServerInfoSettingsControllerTest.php b/tests/Settings/Controller/ServerInfoSettingsControllerTest.php index 43dcb90855a..8d2083d0acb 100644 --- a/tests/Settings/Controller/ServerInfoSettingsControllerTest.php +++ b/tests/Settings/Controller/ServerInfoSettingsControllerTest.php @@ -22,7 +22,7 @@ namespace Settings\Controller; -use OC\Settings\Admin\ServerInfo; +use OC\Settings\Theming\ServerInfo; use OC\Settings\Controller\ServerInfoSettingsController; use OCP\IConfig; use OCP\IRequest; diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php index b82fb5bc3ca..8323452934f 100644 --- a/tests/lib/Settings/ManagerTest.php +++ b/tests/lib/Settings/ManagerTest.php @@ -72,13 +72,14 @@ class ManagerTest extends TestCase { $this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ ['settings', 'admin.svg', '0'], ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -88,6 +89,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)], 98 => [new Section('additional', 'Additional settings', 0, '1')], @@ -124,13 +126,14 @@ class ManagerTest extends TestCase { ->method('t') ->will($this->returnArgument(0)); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ ['settings', 'admin.svg', '0'], ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -140,6 +143,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 98 => [new Section('additional', 'Additional settings', 0, '1')], ], $this->manager->getAdminSections()); @@ -209,7 +213,7 @@ class ManagerTest extends TestCase { $this->manager->registerSection('personal', \OCA\WorkflowEngine\Settings\Section::class); $this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class); - $this->url->expects($this->exactly(9)) + $this->url->expects($this->exactly(10)) ->method('imagePath') ->willReturnMap([ ['core', 'actions/info.svg', '1'], @@ -219,6 +223,7 @@ class ManagerTest extends TestCase { ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -235,6 +240,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)], 98 => [new Section('additional', 'Additional settings', 0, '1')], |