mirror of
https://github.com/nextcloud/server.git
synced 2026-04-05 09:06:35 -04:00
Move server info to theming section
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
This commit is contained in:
parent
d7158402dd
commit
2cd3fd3dc2
11 changed files with 23 additions and 177 deletions
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
@ -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],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
1
settings/img/theming-dark.svg
Normal file
1
settings/img/theming-dark.svg
Normal file
|
|
@ -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>
|
||||
|
After Width: | Height: | Size: 611 B |
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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')],
|
||||
|
|
|
|||
Loading…
Reference in a new issue