diff --git a/packages/web-app-files/src/services/folder/loaderSharedViaLink.ts b/packages/web-app-files/src/services/folder/loaderSharedViaLink.ts index f20027829c5..44b928810a9 100644 --- a/packages/web-app-files/src/services/folder/loaderSharedViaLink.ts +++ b/packages/web-app-files/src/services/folder/loaderSharedViaLink.ts @@ -52,7 +52,8 @@ export class FolderLoaderSharedViaLink implements FolderLoader { spaces, incomingShares: false, allowSharePermission: unref(hasResharing), - hasShareJail: unref(hasShareJail) + hasShareJail: unref(hasShareJail), + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }).map((resource) => { // info: in oc10 we have no storageId in resources. All resources are mounted into the personal space. if (!resource.storageId) { diff --git a/packages/web-app-files/src/services/folder/loaderSharedWithMe.ts b/packages/web-app-files/src/services/folder/loaderSharedWithMe.ts index 7c22af9f959..20e159f2a5d 100644 --- a/packages/web-app-files/src/services/folder/loaderSharedWithMe.ts +++ b/packages/web-app-files/src/services/folder/loaderSharedWithMe.ts @@ -51,7 +51,8 @@ export class FolderLoaderSharedWithMe implements FolderLoader { spaces: store.getters['runtime/spaces/spaces'], incomingShares: true, allowSharePermission: unref(hasResharing), - hasShareJail: unref(hasShareJail) + hasShareJail: unref(hasShareJail), + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }).map((resource) => { // info: in oc10 we have no storageId in resources. All resources are mounted into the personal space. if (!resource.storageId) { diff --git a/packages/web-app-files/src/services/folder/loaderSharedWithOthers.ts b/packages/web-app-files/src/services/folder/loaderSharedWithOthers.ts index 1f05a08b17e..3889bf7e7cd 100644 --- a/packages/web-app-files/src/services/folder/loaderSharedWithOthers.ts +++ b/packages/web-app-files/src/services/folder/loaderSharedWithOthers.ts @@ -59,7 +59,8 @@ export class FolderLoaderSharedWithOthers implements FolderLoader { spaces: store.getters['runtime/spaces/spaces'], incomingShares: false, allowSharePermission: unref(hasResharing), - hasShareJail: unref(hasShareJail) + hasShareJail: unref(hasShareJail), + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }).map((resource) => { // info: in oc10 we have no storageId in resources. All resources are mounted into the personal space. if (!resource.storageId) { diff --git a/packages/web-app-files/src/services/folder/loaderSpace.ts b/packages/web-app-files/src/services/folder/loaderSpace.ts index 7dd9407e2eb..47439b61d02 100644 --- a/packages/web-app-files/src/services/folder/loaderSpace.ts +++ b/packages/web-app-files/src/services/folder/loaderSpace.ts @@ -28,7 +28,7 @@ export class FolderLoaderSpace implements FolderLoader { } public getTask(context: TaskContext): FolderLoaderTask { - const { store, router, clientService } = context + const { store, router, clientService, configurationManager } = context const { owncloudSdk: client, webdav } = clientService const { replaceInvalidFileRoute } = useFileRouteReplace({ router }) const hasResharing = useCapabilityFilesSharingResharing(store) @@ -61,7 +61,8 @@ export class FolderLoaderSpace implements FolderLoader { spaces: store.getters['runtime/spaces/spaces'], allowSharePermission: unref(hasResharing), hasShareJail: true, - incomingShares: true + incomingShares: true, + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }) currentFolder = aggregatedShares[0] } else if (!['personal', 'public'].includes(space.driveType)) { diff --git a/packages/web-pkg/src/composables/actions/files/useFileActionsAcceptShare.ts b/packages/web-pkg/src/composables/actions/files/useFileActionsAcceptShare.ts index 10196e294ff..dbe598f1f3b 100644 --- a/packages/web-pkg/src/composables/actions/files/useFileActionsAcceptShare.ts +++ b/packages/web-pkg/src/composables/actions/files/useFileActionsAcceptShare.ts @@ -8,6 +8,7 @@ import { useCapabilityFilesSharingResharing, useCapabilityShareJailEnabled, useClientService, + useConfigurationManager, useLoadingService, useRouter, useStore @@ -25,6 +26,7 @@ export const useFileActionsAcceptShare = ({ store }: { store?: Store } = {} const hasShareJail = useCapabilityShareJailEnabled() const clientService = useClientService() const loadingService = useLoadingService() + const configurationManager = useConfigurationManager() const handler = async ({ resources }: FileActionOptions) => { const errors = [] @@ -40,7 +42,8 @@ export const useFileActionsAcceptShare = ({ store }: { store?: Store } = {} hasResharing: unref(hasResharing), hasShareJail: unref(hasShareJail), client: clientService.owncloudSdk, - spaces: store.getters['runtime/spaces/spaces'] + spaces: store.getters['runtime/spaces/spaces'], + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }) if (share) { store.commit('Files/UPDATE_RESOURCE', share) diff --git a/packages/web-pkg/src/composables/actions/files/useFileActionsDeclineShare.ts b/packages/web-pkg/src/composables/actions/files/useFileActionsDeclineShare.ts index 071a17786ea..0bd7e5aa961 100644 --- a/packages/web-pkg/src/composables/actions/files/useFileActionsDeclineShare.ts +++ b/packages/web-pkg/src/composables/actions/files/useFileActionsDeclineShare.ts @@ -11,6 +11,7 @@ import { useCapabilityFilesSharingResharing, useCapabilityShareJailEnabled, useClientService, + useConfigurationManager, useLoadingService, useRouter, useStore @@ -28,6 +29,7 @@ export const useFileActionsDeclineShare = ({ store }: { store?: Store } = { const hasShareJail = useCapabilityShareJailEnabled() const clientService = useClientService() const loadingService = useLoadingService() + const configurationManager = useConfigurationManager() const handler = async ({ resources }: FileActionOptions) => { const errors = [] @@ -43,7 +45,8 @@ export const useFileActionsDeclineShare = ({ store }: { store?: Store } = { hasResharing: unref(hasResharing), hasShareJail: unref(hasShareJail), client: clientService.owncloudSdk, - spaces: store.getters['runtime/spaces/spaces'] + spaces: store.getters['runtime/spaces/spaces'], + fullShareOwnerPaths: configurationManager.options.routing.fullShareOwnerPaths }) if (share) { store.commit('Files/UPDATE_RESOURCE', share) diff --git a/packages/web-pkg/src/helpers/share/triggerShareAction.ts b/packages/web-pkg/src/helpers/share/triggerShareAction.ts index 96f3fa2bbd5..7f1748be2c5 100644 --- a/packages/web-pkg/src/helpers/share/triggerShareAction.ts +++ b/packages/web-pkg/src/helpers/share/triggerShareAction.ts @@ -9,7 +9,8 @@ export async function triggerShareAction({ hasResharing, hasShareJail, client, - spaces = [] + spaces = [], + fullShareOwnerPaths = false }: { resource: Resource status: ShareStatus @@ -17,6 +18,7 @@ export async function triggerShareAction({ hasShareJail: boolean client: OwnCloudSdk spaces?: SpaceResource[] + fullShareOwnerPaths?: boolean }) { const method = _getRequestMethod(status) if (!method) { @@ -45,7 +47,8 @@ export async function triggerShareAction({ spaces, incomingShares: true, allowSharePermission: hasResharing, - hasShareJail + hasShareJail, + fullShareOwnerPaths })[0] } }