Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--settings/controller/appsettingscontroller.php4
-rw-r--r--settings/js/apps.js12
-rw-r--r--settings/templates/apps.php2
-rw-r--r--tests/settings/controller/AppSettingsControllerTest.php21
4 files changed, 31 insertions, 8 deletions
diff --git a/settings/controller/appsettingscontroller.php b/settings/controller/appsettingscontroller.php
index f5cb043da20..9022e48a342 100644
--- a/settings/controller/appsettingscontroller.php
+++ b/settings/controller/appsettingscontroller.php
@@ -96,11 +96,13 @@ class AppSettingsController extends Controller {
/**
* @NoCSRFRequired
+ * @param int $category
* @return TemplateResponse
*/
- public function viewApps() {
+ public function viewApps($category = 0) {
$params = [];
$params['experimentalEnabled'] = $this->config->getSystemValue('appstore.experimental.enabled', false);
+ $params['category'] = $category;
$this->navigationManager->setActiveEntry('core_apps');
$templateResponse = new TemplateResponse($this->appName, 'apps', $params, 'user');
diff --git a/settings/js/apps.js b/settings/js/apps.js
index 987153b778c..bb3b1b85c3b 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -40,7 +40,8 @@ OC.Settings.Apps = OC.Settings.Apps || {
}
var categories = [
- {displayName: 'Enabled', id: '0'}
+ {displayName: t('settings', 'Enabled'), id: '0'},
+ {displayName: t('settings', 'Not enabled'), id: '1'}
];
var source = $("#categories-template").html();
@@ -48,7 +49,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
var html = template(categories);
$('#apps-categories').html(html);
- OC.Settings.Apps.loadCategory(0);
+ OC.Settings.Apps.loadCategory(parseInt($('#app-navigation').attr('data-category'), 10));
this._loadCategoriesCall = $.ajax(OC.generateUrl('settings/apps/categories'), {
data:{},
@@ -398,14 +399,14 @@ OC.Settings.Apps = OC.Settings.Apps || {
.text('');
},
- showReloadMessage: function(appId) {
+ showReloadMessage: function() {
OC.dialogs.info(
t(
'settings',
'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'
),
t('settings','App update'),
- function (result) {
+ function () {
window.location.reload();
},
true
@@ -443,6 +444,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
$(document).on('click', 'ul#apps-categories li', function () {
var categoryId = $(this).data('categoryId');
OC.Settings.Apps.loadCategory(categoryId);
+ OC.Util.History.pushState('category=' + categoryId);
});
$(document).on('click', '.app-description-toggle-show', function () {
@@ -508,7 +510,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
});
$(document).on('click', '#enable-experimental-apps', function () {
- var state = $(this).prop('checked')
+ var state = $(this).prop('checked');
$.ajax(OC.generateUrl('settings/apps/experimental'), {
data: {state: state},
type: 'POST',
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 7e6c151fa65..5d9abe021ac 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -127,7 +127,7 @@ script(
</div>
</script>
-<div id="app-navigation" class="icon-loading">
+<div id="app-navigation" class="icon-loading" data-category="<?php p($_['category']);?>">
<ul id="apps-categories">
</ul>
diff --git a/tests/settings/controller/AppSettingsControllerTest.php b/tests/settings/controller/AppSettingsControllerTest.php
index d6379deb9c8..62eebc2de50 100644
--- a/tests/settings/controller/AppSettingsControllerTest.php
+++ b/tests/settings/controller/AppSettingsControllerTest.php
@@ -223,9 +223,28 @@ class AppSettingsControllerTest extends TestCase {
$policy = new ContentSecurityPolicy();
$policy->addAllowedImageDomain('https://apps.owncloud.com');
- $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false], 'user');
+ $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 0], 'user');
$expected->setContentSecurityPolicy($policy);
$this->assertEquals($expected, $this->appSettingsController->viewApps());
}
+
+ public function testViewAppsNotEnabled() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('appstore.experimental.enabled', false);
+ $this->navigationManager
+ ->expects($this->once())
+ ->method('setActiveEntry')
+ ->with('core_apps');
+
+ $policy = new ContentSecurityPolicy();
+ $policy->addAllowedImageDomain('https://apps.owncloud.com');
+
+ $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 1], 'user');
+ $expected->setContentSecurityPolicy($policy);
+
+ $this->assertEquals($expected, $this->appSettingsController->viewApps(1));
+ }
}