summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2016-11-29 15:06:54 +0100
committerJoas Schilling <coding@schilljs.com>2016-11-29 15:06:54 +0100
commita16fd3991aa45914b868954c46c809b062127f1e (patch)
tree7507b9be8b33bc20b6fcc0a6c3b60b2e9c19c353 /apps
parent253a75e5aef409ca5ac412f3d8d3ccd06a9f4a86 (diff)
downloadnextcloud-server-a16fd3991aa45914b868954c46c809b062127f1e.tar.gz
nextcloud-server-a16fd3991aa45914b868954c46c809b062127f1e.zip
Move CalDAV activity settings to new API
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/appinfo/info.xml7
-rw-r--r--apps/dav/lib/CalDAV/Activity/Extension.php25
-rw-r--r--apps/dav/lib/CalDAV/Activity/Setting/Calendar.php98
-rw-r--r--apps/dav/lib/CalDAV/Activity/Setting/Event.php98
-rw-r--r--apps/dav/lib/CalDAV/Activity/Setting/Todo.php98
5 files changed, 303 insertions, 23 deletions
diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 71eac02cbe4..a8c4185f6c1 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -37,5 +37,12 @@
<filter>OCA\DAV\CalDAV\Activity\Filter\Calendar</filter>
<filter>OCA\DAV\CalDAV\Activity\Filter\Todo</filter>
</filters>
+
+ <settings>
+ <setting>OCA\DAV\CalDAV\Activity\Setting\Calendar</setting>
+ <setting>OCA\DAV\CalDAV\Activity\Setting\Event</setting>
+ <setting>OCA\DAV\CalDAV\Activity\Setting\Todo</setting>
+ </settings>
+
</activity>
</info>
diff --git a/apps/dav/lib/CalDAV/Activity/Extension.php b/apps/dav/lib/CalDAV/Activity/Extension.php
index 3be68956903..47f4351aa49 100644
--- a/apps/dav/lib/CalDAV/Activity/Extension.php
+++ b/apps/dav/lib/CalDAV/Activity/Extension.php
@@ -73,13 +73,7 @@ class Extension implements IExtension {
* @return array|false
*/
public function getNotificationTypes($languageCode) {
- $l = $this->getL10N($languageCode);
-
- return array(
- self::CALENDAR => (string) $l->t('A <strong>calendar</strong> was modified'),
- self::CALENDAR_EVENT => (string) $l->t('A calendar <strong>event</strong> was modified'),
- self::CALENDAR_TODO => (string) $l->t('A calendar <strong>todo</strong> was modified'),
- );
+ return false;
}
/**
@@ -90,14 +84,7 @@ class Extension implements IExtension {
* @return array|false
*/
public function getDefaultTypes($method) {
- $defaultTypes = [];
- if ($method === self::METHOD_STREAM) {
- $defaultTypes[] = self::CALENDAR;
- $defaultTypes[] = self::CALENDAR_EVENT;
- $defaultTypes[] = self::CALENDAR_TODO;
- }
-
- return $defaultTypes;
+ return false;
}
/**
@@ -108,14 +95,6 @@ class Extension implements IExtension {
* @return string|false
*/
public function getTypeIcon($type) {
- switch ($type) {
- case self::CALENDAR:
- case self::CALENDAR_EVENT:
- return 'icon-calendar-dark';
- case self::CALENDAR_TODO:
- return 'icon-checkmark';
- }
-
return false;
}
diff --git a/apps/dav/lib/CalDAV/Activity/Setting/Calendar.php b/apps/dav/lib/CalDAV/Activity/Setting/Calendar.php
new file mode 100644
index 00000000000..608ee266bb9
--- /dev/null
+++ b/apps/dav/lib/CalDAV/Activity/Setting/Calendar.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 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\DAV\CalDAV\Activity\Setting;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class Calendar implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'calendar';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A <strong>calendar</strong> was modified');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 50;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/dav/lib/CalDAV/Activity/Setting/Event.php b/apps/dav/lib/CalDAV/Activity/Setting/Event.php
new file mode 100644
index 00000000000..887cd22afad
--- /dev/null
+++ b/apps/dav/lib/CalDAV/Activity/Setting/Event.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 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\DAV\CalDAV\Activity\Setting;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class Event implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'calendar_event';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A calendar <strong>event</strong> was modified');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 50;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/dav/lib/CalDAV/Activity/Setting/Todo.php b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
new file mode 100644
index 00000000000..0c8215f4843
--- /dev/null
+++ b/apps/dav/lib/CalDAV/Activity/Setting/Todo.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 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\DAV\CalDAV\Activity\Setting;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class Todo implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'calendar_todos';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A calendar <strong>todo</strong> was modified');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 50;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+