This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 496530cca4370d97bf5fdbe834dce0d18076bf07 Author: Marcus Christie <[email protected]> AuthorDate: Tue Feb 21 18:43:41 2023 -0500 AIRAVATA-3682 Users may have write access on shared directory but can never delete it --- django_airavata/apps/api/serializers.py | 7 ++----- .../js/components/storage/UserStoragePathViewer.vue | 6 +++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py index 618075f2..f2339ea5 100644 --- a/django_airavata/apps/api/serializers.py +++ b/django_airavata/apps/api/serializers.py @@ -575,7 +575,7 @@ class DataProductSerializer( def get_userHasWriteAccess(self, data_product: DataProductModel): request = self.context['request'] - file_metadata = user_storage.get_data_product_metadata(request, data_product_uri=data_product.productUri) + file_metadata = user_storage.get_data_product_metadata(request, data_product=data_product) if "userHasWriteAccess" in file_metadata: return file_metadata["userHasWriteAccess"] else: @@ -979,11 +979,8 @@ class UserHasWriteAccessToPathSerializer(serializers.Serializer): else: return False - is_shared_dir = view_utils.is_shared_dir(instance["path"]) is_shared_path = view_utils.is_shared_path(instance["path"]) - if is_shared_dir: - return False - elif is_shared_path: + if is_shared_path: return request.is_gateway_admin else: return True diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue index 31cb8d4b..2e4c2898 100644 --- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue +++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue @@ -77,7 +77,11 @@ <i class="fa fa-file-archive" aria-hidden="true"></i> </b-link> <delete-link - v-if="includeDeleteAction && data.item.userHasWriteAccess" + v-if=" + includeDeleteAction && + data.item.userHasWriteAccess && + !data.item.isSharedDir + " @delete="deleteItem(data.item)" > Are you sure you want to delete <strong>{{ data.item.name }}</strong
