aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-02-08 23:18:00 +0100
committerGitHub <noreply@github.com>2018-02-08 23:18:00 +0100
commitba9711f5d3c74f9ab46ac15cd64a4ce1e8059773 (patch)
treeb43524b26ca150cb99691673374ea99b34403ae3
parentb63ea2c77139a3af6d5b891f1674a24ce9d3d783 (diff)
parentf07d3a3b5507c99639158fbea4583a7bd5885100 (diff)
downloadnextcloud-server-ba9711f5d3c74f9ab46ac15cd64a4ce1e8059773.tar.gz
nextcloud-server-ba9711f5d3c74f9ab46ac15cd64a4ce1e8059773.zip
Merge pull request #8263 from nextcloud/fix_dev_man_link
Link to NC 14 dev manual
-rw-r--r--settings/Controller/AppSettingsController.php11
-rw-r--r--settings/templates/apps.php4
-rw-r--r--tests/Settings/Controller/AppSettingsControllerTest.php25
3 files changed, 34 insertions, 6 deletions
diff --git a/settings/Controller/AppSettingsController.php b/settings/Controller/AppSettingsController.php
index cd34edf567c..325b6a0daf0 100644
--- a/settings/Controller/AppSettingsController.php
+++ b/settings/Controller/AppSettingsController.php
@@ -47,6 +47,7 @@ use OCP\INavigationManager;
use OCP\IRequest;
use OCP\IL10N;
use OCP\IConfig;
+use OCP\IURLGenerator;
use OCP\L10N\IFactory;
/**
@@ -77,6 +78,8 @@ class AppSettingsController extends Controller {
private $bundleFetcher;
/** @var Installer */
private $installer;
+ /** @var IURLGenerator */
+ private $urlGenerator;
/**
* @param string $appName
@@ -90,8 +93,9 @@ class AppSettingsController extends Controller {
* @param IFactory $l10nFactory
* @param BundleFetcher $bundleFetcher
* @param Installer $installer
+ * @param IURLGenerator $urlGenerator
*/
- public function __construct($appName,
+ public function __construct(string $appName,
IRequest $request,
IL10N $l10n,
IConfig $config,
@@ -101,7 +105,8 @@ class AppSettingsController extends Controller {
AppFetcher $appFetcher,
IFactory $l10nFactory,
BundleFetcher $bundleFetcher,
- Installer $installer) {
+ Installer $installer,
+ IURLGenerator $urlGenerator) {
parent::__construct($appName, $request);
$this->l10n = $l10n;
$this->config = $config;
@@ -112,6 +117,7 @@ class AppSettingsController extends Controller {
$this->l10nFactory = $l10nFactory;
$this->bundleFetcher = $bundleFetcher;
$this->installer = $installer;
+ $this->urlGenerator = $urlGenerator;
}
/**
@@ -128,6 +134,7 @@ class AppSettingsController extends Controller {
$params = [];
$params['category'] = $category;
$params['appstoreEnabled'] = $this->config->getSystemValue('appstoreenabled', true) === true;
+ $params['urlGenerator'] = $this->urlGenerator;
$this->navigationManager->setActiveEntry('core_apps');
$templateResponse = new TemplateResponse($this->appName, 'apps', $params, 'user');
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index d7b232b915e..9e2f9cf2df4 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -14,6 +14,8 @@ script(
]
);
/** @var array $_ */
+/** @var \OCP\IURLGenerator $urlGenerator */
+$urlGenerator = $_['urlGenerator'];
?>
<script id="categories-template" type="text/x-handlebars-template">
{{#each this}}
@@ -29,7 +31,7 @@ script(
<?php if($_['appstoreEnabled']): ?>
<li>
- <a class="app-external icon-info" target="_blank" rel="noreferrer noopener" href="https://docs.nextcloud.org/server/12/developer_manual/"><?php p($l->t('Developer documentation'));?> ↗</a>
+ <a class="app-external icon-info" target="_blank" rel="noreferrer noopener" href="<?php p($urlGenerator->linkToDocs('developer-manual')); ?>"><?php p($l->t('Developer documentation'));?> ↗</a>
</li>
<?php endif; ?>
</script>
diff --git a/tests/Settings/Controller/AppSettingsControllerTest.php b/tests/Settings/Controller/AppSettingsControllerTest.php
index 6631873d8ad..2f916b89707 100644
--- a/tests/Settings/Controller/AppSettingsControllerTest.php
+++ b/tests/Settings/Controller/AppSettingsControllerTest.php
@@ -30,6 +30,7 @@ use OC\Settings\Controller\AppSettingsController;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use Test\TestCase;
use OCP\IRequest;
@@ -66,6 +67,8 @@ class AppSettingsControllerTest extends TestCase {
private $bundleFetcher;
/** @var Installer|\PHPUnit_Framework_MockObject_MockObject */
private $installer;
+ /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
+ private $urlGenerator;
public function setUp() {
parent::setUp();
@@ -83,6 +86,7 @@ class AppSettingsControllerTest extends TestCase {
$this->l10nFactory = $this->createMock(IFactory::class);
$this->bundleFetcher = $this->createMock(BundleFetcher::class);
$this->installer = $this->createMock(Installer::class);
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
$this->appSettingsController = new AppSettingsController(
'settings',
@@ -95,7 +99,8 @@ class AppSettingsControllerTest extends TestCase {
$this->appFetcher,
$this->l10nFactory,
$this->bundleFetcher,
- $this->installer
+ $this->installer,
+ $this->urlGenerator
);
}
@@ -204,7 +209,14 @@ class AppSettingsControllerTest extends TestCase {
$policy = new ContentSecurityPolicy();
$policy->addAllowedImageDomain('https://usercontent.apps.nextcloud.com');
- $expected = new TemplateResponse('settings', 'apps', ['category' => 'installed', 'appstoreEnabled' => true], 'user');
+ $expected = new TemplateResponse('settings',
+ 'apps',
+ [
+ 'category' => 'installed',
+ 'appstoreEnabled' => true,
+ 'urlGenerator' => $this->urlGenerator,
+ ],
+ 'user');
$expected->setContentSecurityPolicy($policy);
$this->assertEquals($expected, $this->appSettingsController->viewApps());
@@ -224,7 +236,14 @@ class AppSettingsControllerTest extends TestCase {
$policy = new ContentSecurityPolicy();
$policy->addAllowedImageDomain('https://usercontent.apps.nextcloud.com');
- $expected = new TemplateResponse('settings', 'apps', ['category' => 'installed', 'appstoreEnabled' => false], 'user');
+ $expected = new TemplateResponse('settings',
+ 'apps',
+ [
+ 'category' => 'installed',
+ 'appstoreEnabled' => false,
+ 'urlGenerator' => $this->urlGenerator,
+ ],
+ 'user');
$expected->setContentSecurityPolicy($policy);
$this->assertEquals($expected, $this->appSettingsController->viewApps());