You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/05/28 13:22:35 UTC
[airavata-django-portal] 05/06: AIRAVATA-3032 Add isInputFileUpload
to DataProductSerializer
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch airavata-3016
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 8657f9d775c8debcb579fbdfe78e9fa293011616
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Mon May 27 17:34:47 2019 -0400
AIRAVATA-3032 Add isInputFileUpload to DataProductSerializer
Use isInputFileUpload to distinguish between input files that were
uploaded from ones that are selected from user storage. This is
then used to delete input files that were uploaded when the user no
longer wants to use that file in an experiment.
---
django_airavata/apps/api/serializers.py | 6 ++++++
.../apps/api/static/django_airavata_api/js/models/DataProduct.js | 1 +
.../js/components/experiment/input-editors/FileInputEditor.vue | 4 +++-
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 4e6a0fe..91a5d6b 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -432,6 +432,7 @@ class DataProductSerializer(
lastModifiedTime = UTCPosixTimestampDateTimeField()
replicaLocations = DataReplicaLocationSerializer(many=True)
downloadURL = serializers.SerializerMethodField()
+ isInputFileUpload = serializers.SerializerMethodField()
def get_downloadURL(self, data_product):
"""Getter for downloadURL field."""
@@ -443,6 +444,11 @@ class DataProductSerializer(
urlencode({'data-product-uri': data_product.productUri}))
return None
+ def get_isInputFileUpload(self, data_product):
+ """Return True if this is an uploaded input file."""
+ request = self.context['request']
+ return data_products_helper.is_input_file_upload(request, data_product)
+
# TODO move this into airavata_sdk?
class FullExperiment:
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/DataProduct.js b/django_airavata/apps/api/static/django_airavata_api/js/models/DataProduct.js
index 1f95ce3..2634807 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/DataProduct.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/DataProduct.js
@@ -28,6 +28,7 @@ const FIELDS = [
list: true
},
'downloadURL',
+ 'isInputFileUpload'
];
const FILENAME_REGEX = /[^/]+$/;
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
index b37bf2a..4009866 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/input-editors/FileInputEditor.vue
@@ -10,12 +10,14 @@
:input-file="true"
/>
<delete-link
+ v-if="dataProduct.isInputFileUpload"
class="ml-2"
@delete="deleteDataProduct"
>
- Are you sure you want to delete input file {{ dataProduct.filename }}?
+ Are you sure you want to delete input file {{ dataProduct.productName }}?
</delete-link>
<b-link
+ v-else
@click="unselect"
class="ml-2 text-secondary"
>