diff options
Diffstat (limited to 'apps/files_sharing/src/components/PersonalSettings.vue')
-rw-r--r-- | apps/files_sharing/src/components/PersonalSettings.vue | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/apps/files_sharing/src/components/PersonalSettings.vue b/apps/files_sharing/src/components/PersonalSettings.vue index 5ff795fc91a..19c9c2aec87 100644 --- a/apps/files_sharing/src/components/PersonalSettings.vue +++ b/apps/files_sharing/src/components/PersonalSettings.vue @@ -1,60 +1,68 @@ <!-- - - @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/>. - --> + - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + - SPDX-License-Identifier: AGPL-3.0-or-later +--> <template> - <div v-if="!enforceAcceptShares" id="files-sharing-personal-settings" class="section"> + <div v-if="!enforceAcceptShares || allowCustomDirectory" id="files-sharing-personal-settings" class="section"> <h2>{{ t('files_sharing', 'Sharing') }}</h2> - <p> + <p v-if="!enforceAcceptShares"> <input id="files-sharing-personal-settings-accept" v-model="accepting" class="checkbox" type="checkbox" @change="toggleEnabled"> - <label for="files-sharing-personal-settings-accept">{{ t('files_sharing', 'Accept user and group shares by default') }}</label> + <label for="files-sharing-personal-settings-accept">{{ t('files_sharing', 'Accept shares from other accounts and groups by default') }}</label> + </p> + <p v-if="allowCustomDirectory"> + <SelectShareFolderDialogue /> </p> </div> </template> <script> -import axios from '@nextcloud/axios' -import { loadState } from '@nextcloud/initial-state' import { generateUrl } from '@nextcloud/router' +import { loadState } from '@nextcloud/initial-state' +import { showError } from '@nextcloud/dialogs' +import axios from '@nextcloud/axios' + +import SelectShareFolderDialogue from './SelectShareFolderDialogue.vue' export default { name: 'PersonalSettings', + components: { + SelectShareFolderDialogue, + }, + data() { return { + // Share acceptance config accepting: loadState('files_sharing', 'accept_default'), enforceAcceptShares: loadState('files_sharing', 'enforce_accept'), + + // Receiving share folder config + allowCustomDirectory: loadState('files_sharing', 'allow_custom_share_folder'), } }, + methods: { - toggleEnabled() { - axios.put( - generateUrl('/apps/files_sharing/settings/defaultAccept'), - { + async toggleEnabled() { + try { + await axios.put(generateUrl('/apps/files_sharing/settings/defaultAccept'), { accept: this.accepting, - } - ) + }) + } catch (error) { + showError(t('files_sharing', 'Error while toggling options')) + console.error(error) + } }, }, } </script> + +<style scoped lang="scss"> +p { + margin-top: 12px; + margin-bottom: 12px; +} +</style> |