From b5b5316ce6134b3b2a25f292e9f0c1adc520f1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de> Date: Wed, 31 Aug 2022 14:06:53 +0200 Subject: [PATCH] Disable buttons for S3 manipulation for unauthorized users #15 --- src/components/BucketView.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/BucketView.vue b/src/components/BucketView.vue index c78336c..b827765 100644 --- a/src/components/BucketView.vue +++ b/src/components/BucketView.vue @@ -222,6 +222,10 @@ const errorLoadingObjects: ComputedRef<boolean> = computed( () => objectState.bucketPermissionError || objectState.bucketNotFoundError ); +const writeS3Permission: ComputedRef<boolean> = computed( + () => props.permission == undefined || props.permission.permission == "READWRITE" +); + // Lifecycle Hooks // ----------------------------------------------------------------------------- onMounted(() => { @@ -466,7 +470,7 @@ watch( <button type="button" class="btn btn-secondary me-2 tooltip-container" - :disabled="errorLoadingObjects" + :disabled="errorLoadingObjects || !writeS3Permission" data-bs-toggle="modal" data-bs-title="Upload Object" data-bs-target="#upload-object-modal" @@ -486,7 +490,7 @@ watch( <button type="button" class="btn btn-secondary m-2 tooltip-container" - :disabled="errorLoadingObjects" + :disabled="errorLoadingObjects || !writeS3Permission" data-bs-toggle="modal" data-bs-title="Create Folder" data-bs-target="#create-folder-modal" @@ -666,16 +670,17 @@ watch( <button class="dropdown-item" type="button">Details</button> </li> <li> - <button class="dropdown-item" type="button">Edit</button> + <button class="dropdown-item" type="button" :disabled="!writeS3Permission">Edit</button> </li> <li> - <button class="dropdown-item" type="button">Copy</button> + <button class="dropdown-item" type="button" :disabled="!writeS3Permission">Copy</button> </li> <li> <button class="dropdown-item text-danger align-middle" type="button" @click="deleteObject(obj.key)" + :disabled="!writeS3Permission" > <bootstrap-icon icon="trash-fill" @@ -694,6 +699,7 @@ watch( <button type="button" class="btn btn-danger btn-sm align-middle" + :disabled="!writeS3Permission" @click=" deleteFolder( obj.parentFolder.join('/') + '/' + obj.name + '/' -- GitLab