From 01167681e0222f8af0064570f90cc94b8376f584 Mon Sep 17 00:00:00 2001 From: Rodrigo Date: Fri, 18 Jul 2025 11:23:52 +0200 Subject: [PATCH] feat: enable create project button "Create project" button enabled when user has a personal space --- .../web-app-files/src/views/spaces/Projects.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/web-app-files/src/views/spaces/Projects.vue b/packages/web-app-files/src/views/spaces/Projects.vue index 6628a7da9e6..a3011222ec4 100644 --- a/packages/web-app-files/src/views/spaces/Projects.vue +++ b/packages/web-app-files/src/views/spaces/Projects.vue @@ -178,7 +178,8 @@ import { ItemFilterToggle, useRouteQuery, queryItemAsString, - useLoadPreview + useLoadPreview, + useUserStore } from '@ownclouders/web-pkg' import { AppBar } from '@ownclouders/web-pkg' @@ -200,6 +201,7 @@ import { import SpaceContextActions from '../../components/Spaces/SpaceContextActions.vue' import { getSpaceManagers, + isPersonalSpaceResource, isProjectSpaceResource, ProjectSpaceResource, SpaceResource @@ -238,6 +240,7 @@ export default defineComponent({ }, setup() { const spacesStore = useSpacesStore() + const userStore = useUserStore() const router = useRouter() const route = useRoute() const clientService = useClientService() @@ -251,6 +254,10 @@ export default defineComponent({ const { setSelection, initResourceList, clearResourceList, setAncestorMetaData } = useResourcesStore() + const userHasPersonalSpace = !!spacesStore.spaces.find( + (drive) => isPersonalSpaceResource(drive) && drive.isOwner(userStore.user) + ) + const loadResourcesTask = useTask(function* (signal) { clearResourceList() setAncestorMetaData({}) @@ -353,7 +360,10 @@ export default defineComponent({ }) }) - const hasCreatePermission = computed(() => can('create-all', 'Drive')) + const hasCreatePermission = computed( + // if user has a personal space, it's not a lightweight account + () => can('create-all', 'Drive') && userHasPersonalSpace + ) const extensionRegistry = useExtensionRegistry() const viewModes = computed(() => {