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:
authorCarl Schwan <carl@carlschwan.eu>2021-10-14 16:07:14 +0300
committerCarl Schwan <carl@carlschwan.eu>2021-10-15 19:41:00 +0300
commit719dbafd1339702a170f04ebbc4f20e80d45e8c9 (patch)
tree0e4648b4f770e7c0f7b1ebad33afc718f63fdd8d /apps/federation
parentb585cf1ea1baeb7bbfaf22953e48bbd33e8381fa (diff)
Add support for Delegation Settings for more apps
* This adds support for the sharing, groupware, theming and user_ldap app * This adds some code who disapeared during a rebase in the initial delegation PR (provisioning_api) Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'apps/federation')
-rw-r--r--apps/federation/lib/Controller/SettingsController.php9
-rw-r--r--apps/federation/lib/Settings/Admin.php25
-rw-r--r--apps/federation/tests/Settings/AdminTest.php4
3 files changed, 31 insertions, 7 deletions
diff --git a/apps/federation/lib/Controller/SettingsController.php b/apps/federation/lib/Controller/SettingsController.php
index 970211e4103..c60a7d31d7c 100644
--- a/apps/federation/lib/Controller/SettingsController.php
+++ b/apps/federation/lib/Controller/SettingsController.php
@@ -56,8 +56,9 @@ class SettingsController extends Controller {
/**
- * add server to the list of trusted Nextclouds
+ * Add server to the list of trusted Nextclouds.
*
+ * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
* @param string $url
* @return DataResponse
* @throws HintException
@@ -76,8 +77,9 @@ class SettingsController extends Controller {
}
/**
- * add server to the list of trusted Nextclouds
+ * Add server to the list of trusted Nextclouds.
*
+ * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
* @param int $id
* @return DataResponse
*/
@@ -87,8 +89,9 @@ class SettingsController extends Controller {
}
/**
- * check if the server should be added to the list of trusted servers or not
+ * Check if the server should be added to the list of trusted servers or not.
*
+ * @AuthorizedAdminSetting(settings=OCA\Federation\Settings\Admin)
* @param string $url
* @return bool
* @throws HintException
diff --git a/apps/federation/lib/Settings/Admin.php b/apps/federation/lib/Settings/Admin.php
index c4efe983783..7d4e51a124c 100644
--- a/apps/federation/lib/Settings/Admin.php
+++ b/apps/federation/lib/Settings/Admin.php
@@ -24,15 +24,26 @@ namespace OCA\Federation\Settings;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http\TemplateResponse;
-use OCP\Settings\ISettings;
+use OCP\IL10N;
+use OCP\Settings\IDelegatedSettings;
-class Admin implements ISettings {
+class Admin implements IDelegatedSettings {
/** @var TrustedServers */
private $trustedServers;
- public function __construct(TrustedServers $trustedServers) {
+ /** @var IL10N */
+ private $l;
+
+ /**
+ * Admin constructor.
+ *
+ * @param TrustedServers $trustedServers
+ * @param IL10N $l
+ */
+ public function __construct(TrustedServers $trustedServers, IL10N $l) {
$this->trustedServers = $trustedServers;
+ $this->l = $l;
}
/**
@@ -63,4 +74,12 @@ class Admin implements ISettings {
public function getPriority() {
return 30;
}
+
+ public function getName(): ?string {
+ return $this->l->t("Trusted servers");
+ }
+
+ public function getAuthorizedAppConfig(): array {
+ return []; // Handled by custom controller
+ }
}
diff --git a/apps/federation/tests/Settings/AdminTest.php b/apps/federation/tests/Settings/AdminTest.php
index e15fb5f8d2b..3d124d5c65a 100644
--- a/apps/federation/tests/Settings/AdminTest.php
+++ b/apps/federation/tests/Settings/AdminTest.php
@@ -26,6 +26,7 @@ namespace OCA\Federation\Tests\Settings;
use OCA\Federation\Settings\Admin;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\IL10N;
use Test\TestCase;
class AdminTest extends TestCase {
@@ -38,7 +39,8 @@ class AdminTest extends TestCase {
parent::setUp();
$this->trustedServers = $this->getMockBuilder('\OCA\Federation\TrustedServers')->disableOriginalConstructor()->getMock();
$this->admin = new Admin(
- $this->trustedServers
+ $this->trustedServers,
+ $this->createMock(IL10N::class)
);
}