From 4eeb67bb5603324cf8e87e8dff00c03c4ada4895 Mon Sep 17 00:00:00 2001 From: Luka Trovic Date: Wed, 10 Apr 2024 20:02:33 +0200 Subject: [PATCH] fix: permission check for cloning board Signed-off-by: Luka Trovic [skip ci] --- lib/Service/BoardService.php | 4 ++++ src/components/navigation/AppNavigationBoard.vue | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/Service/BoardService.php b/lib/Service/BoardService.php index f342b2850..0d0f32796 100644 --- a/lib/Service/BoardService.php +++ b/lib/Service/BoardService.php @@ -547,6 +547,10 @@ public function deleteAcl(int $id): ?Acl { public function clone($id, $userId) { $this->boardServiceValidator->check(compact('id', 'userId')); + if (!$this->permissionService->canCreate()) { + throw new NoPermissionException('Creating boards has been disabled for your account.'); + } + $this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ); $board = $this->boardMapper->find($id); diff --git a/src/components/navigation/AppNavigationBoard.vue b/src/components/navigation/AppNavigationBoard.vue index f59ae4f03..52450f68e 100644 --- a/src/components/navigation/AppNavigationBoard.vue +++ b/src/components/navigation/AppNavigationBoard.vue @@ -47,7 +47,7 @@ @click="actionEdit"> {{ t('deck', 'Edit board') }} -