summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2019-12-12 21:45:59 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2019-12-17 10:49:29 +0100
commite7dc91002f87385547528f8ac507b037c0f6be93 (patch)
treea8605f6bd53ea44817daa1f343f45debcb89ff08 /apps/files_sharing/src
parent76895b6945f64b25d56a55c70585c441743eb226 (diff)
downloadnextcloud-server-e7dc91002f87385547528f8ac507b037c0f6be93.tar.gz
nextcloud-server-e7dc91002f87385547528f8ac507b037c0f6be93.zip
Allow users to specify to accept (internal) shares by default
Fixes #18255 A new user setting allows a user to always accept (internal) shares. For example if they don't like accepting shares manually ;) Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r--apps/files_sharing/src/components/PersonalSettings.vue59
-rw-r--r--apps/files_sharing/src/personal-settings.js38
2 files changed, 97 insertions, 0 deletions
diff --git a/apps/files_sharing/src/components/PersonalSettings.vue b/apps/files_sharing/src/components/PersonalSettings.vue
new file mode 100644
index 00000000000..6f5f6bf082f
--- /dev/null
+++ b/apps/files_sharing/src/components/PersonalSettings.vue
@@ -0,0 +1,59 @@
+<!--
+ - @copyright 2019 Roeland Jago Douma <roeland@famdouma.nl>
+ -
+ - @author 2019 Roeland Jago Douma <roeland@famdouma.nl>
+ -
+ - @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/>.
+ -->
+
+<template>
+ <div id="files-sharing-personal-settings" class="section">
+ <h2>{{ t('files', 'Sharing') }}</h2>
+ <input id="files-sharing-personal-settings-accept"
+ v-model="accepting"
+ type="checkbox"
+ @change="toggleEnabled">
+ <label for="files-sharing-personal-settings-accept">{{ t('files_sharing', 'Accept user and group shares by default') }}</label>
+ </div>
+</template>
+
+<script>
+import axios from '@nextcloud/axios'
+import { loadState } from '@nextcloud/initial-state'
+import { generateUrl } from '@nextcloud/router'
+
+export default {
+ name: 'PersonalSettings',
+ data() {
+ return {
+ accepting: true
+ }
+ },
+ mounted() {
+ this.accepting = loadState('files_sharing', 'accept_default')
+ },
+ methods: {
+ toggleEnabled() {
+ axios.put(
+ generateUrl('/apps/files_sharing/settings/defaultAccept'),
+ {
+ accept: this.accepting
+ }
+ )
+ }
+ }
+}
+</script>
diff --git a/apps/files_sharing/src/personal-settings.js b/apps/files_sharing/src/personal-settings.js
new file mode 100644
index 00000000000..da5d91537ec
--- /dev/null
+++ b/apps/files_sharing/src/personal-settings.js
@@ -0,0 +1,38 @@
+// global t
+
+/*
+ * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
+ *
+ * @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/>.
+ */
+
+import Vue from 'vue'
+import { getRequestToken } from '@nextcloud/auth'
+import { generateFilePath } from '@nextcloud/router'
+
+import PersonalSettings from './components/PersonalSettings'
+
+// eslint-disable-next-line camelcase
+__webpack_nonce__ = btoa(getRequestToken())
+// eslint-disable-next-line camelcase
+__webpack_public_path__ = generateFilePath('files', '', 'js/')
+
+Vue.prototype.t = t
+
+const View = Vue.extend(PersonalSettings)
+new View().$mount('#files-personal-settings')