From d466a7b80834b6e31bfcb9d764816a01da0cbc7c Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 1 Apr 2020 15:07:35 +0200 Subject: Allow to navigate to others with access from the sidebar Signed-off-by: Roeland Jago Douma Signed-off-by: npmbuildbot[bot] --- .../src/components/SharingEntryInherited.vue | 15 ++++++++++----- apps/files_sharing/src/models/Share.js | 20 ++++++++++++++++++++ apps/files_sharing/src/views/SharingInherited.vue | 1 + 3 files changed, 31 insertions(+), 5 deletions(-) (limited to 'apps/files_sharing/src') diff --git a/apps/files_sharing/src/components/SharingEntryInherited.vue b/apps/files_sharing/src/components/SharingEntryInherited.vue index 259599359d4..b8b5674efc9 100644 --- a/apps/files_sharing/src/components/SharingEntryInherited.vue +++ b/apps/files_sharing/src/components/SharingEntryInherited.vue @@ -35,10 +35,10 @@ {{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }} - - {{ t('files_sharing', 'Via folder') }} + :href="viaFileTargetUrl"> + {{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }} import { generateUrl } from '@nextcloud/router' +import { basename } from '@nextcloud/paths' import Avatar from '@nextcloud/vue/dist/Components/Avatar' import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' import ActionLink from '@nextcloud/vue/dist/Components/ActionLink' @@ -81,11 +82,15 @@ export default { }, computed: { - fileTargetUrl() { + viaFileTargetUrl() { return generateUrl('/f/{fileid}', { - fileid: this.share.fileSource, + fileid: this.share.viaFileid, }) }, + + viaFolderName() { + return basename(this.share.viaPath) + }, }, } diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js index 1c8c24cfc7b..92ea314071f 100644 --- a/apps/files_sharing/src/models/Share.js +++ b/apps/files_sharing/src/models/Share.js @@ -467,6 +467,26 @@ export default class Share { return this.#share.can_delete === true } + /** + * Top level accessible shared folder fileid for the current user + * @returns {string} + * @readonly + * @memberof Share + */ + get viaFileid() { + return this.#share.via_fileid + } + + /** + * Top level accessible shared folder path for the current user + * @returns {string} + * @readonly + * @memberof Share + */ + get viaPath() { + return this.#share.via_path + } + // TODO: SORT THOSE PROPERTIES get label() { return this.#share.label diff --git a/apps/files_sharing/src/views/SharingInherited.vue b/apps/files_sharing/src/views/SharingInherited.vue index 67a57a96b62..b688a70fa1a 100644 --- a/apps/files_sharing/src/views/SharingInherited.vue +++ b/apps/files_sharing/src/views/SharingInherited.vue @@ -38,6 +38,7 @@ -- cgit v1.2.3