diff --git a/lib/Controller/WorkspaceController.php b/lib/Controller/WorkspaceController.php index 381c1cd38..6d6397598 100644 --- a/lib/Controller/WorkspaceController.php +++ b/lib/Controller/WorkspaceController.php @@ -86,8 +86,8 @@ private function deleteBlankSpaceName(string $spaceName): string { * @GeneralManagerRequired * @param string $spaceName */ - public function createWorkspace(string $spaceName): JSONResponse { - $workspace = $this->spaceManager->create($spaceName); + public function createWorkspace(string $spaceName, ?string $colorCode = null, int $quota = -3): JSONResponse { + $workspace = $this->spaceManager->create($spaceName, $colorCode, $quota); return new JSONResponse( array_merge( diff --git a/lib/Space/SpaceManager.php b/lib/Space/SpaceManager.php index f94b5de78..685b1553b 100644 --- a/lib/Space/SpaceManager.php +++ b/lib/Space/SpaceManager.php @@ -82,7 +82,7 @@ public function __construct( ) { } - public function create(string $spacename): array { + public function create(string $spacename, ?string $colorCode = null, int $quota = -3): array { if ($spacename === false || $spacename === null || $spacename === '' @@ -102,10 +102,18 @@ public function create(string $spacename): array { $folderId = $this->folderHelper->createFolder($spacename); + if ($quota !== -3) { + $this->folderHelper->setFolderQuota($folderId, $quota); + } + + if ($colorCode === null) { + $colorCode = $this->colorCode->generate(); + } + $space = new Space(); $space->setSpaceName($spacename); $space->setGroupfolderId($folderId); - $space->setColorCode($this->colorCode->generate()); + $space->setColorCode($colorCode); $this->spaceMapper->insert($space); @@ -154,7 +162,7 @@ public function create(string $spacename): array { $newSpaceUsersGroup ]), 'added_groups' => (object)[], - 'quota' => $groupfolder['quota'], + 'quota' => $quota, 'size' => $groupfolder['size'], 'acl' => $groupfolder['acl'], 'manage' => $groupfolder['manage'], diff --git a/src/LeftSidebar.vue b/src/LeftSidebar.vue index 2ffdb7611..fcb04490f 100644 --- a/src/LeftSidebar.vue +++ b/src/LeftSidebar.vue @@ -20,55 +20,68 @@ along with this program. If not, see . -->