AIRAVATA-3648 Show last modified time in user storage views
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 84d32b5..d7a52d4 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -531,6 +531,7 @@
class DataProductSerializer(
thrift_utils.create_serializer_class(DataProductModel)):
creationTime = UTCPosixTimestampDateTimeField()
+ modifiedTime = UTCPosixTimestampDateTimeField()
lastModifiedTime = UTCPosixTimestampDateTimeField()
replicaLocations = DataReplicaLocationSerializer(many=True)
downloadURL = serializers.SerializerMethodField()
@@ -932,6 +933,7 @@
downloadURL = serializers.SerializerMethodField()
dataProductURI = serializers.CharField(source='data-product-uri')
createdTime = serializers.DateTimeField(source='created_time')
+ modifiedTime = serializers.DateTimeField(source='modified_time')
mimeType = serializers.CharField(source='mime_type')
size = serializers.IntegerField()
hidden = serializers.BooleanField()
@@ -946,6 +948,7 @@
name = serializers.CharField()
path = serializers.CharField()
createdTime = serializers.DateTimeField(source='created_time')
+ modifiedTime = serializers.DateTimeField(source='modified_time')
size = serializers.IntegerField()
hidden = serializers.BooleanField()
url = FullyEncodedHyperlinkedIdentityField(
@@ -972,6 +975,7 @@
name = serializers.CharField()
path = serializers.CharField()
createdTime = serializers.DateTimeField(source='created_time')
+ modifiedTime = serializers.DateTimeField(source='modified_time')
size = serializers.IntegerField()
url = serializers.SerializerMethodField()
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageDirectory.js b/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageDirectory.js
index f1c0c3a..2ff65df 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageDirectory.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageDirectory.js
@@ -4,6 +4,7 @@
"name",
"path",
{ name: "createdTime", type: "date" },
+ { name: "modifiedTime", type: "date" },
"size",
"hidden",
];
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageFile.js b/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageFile.js
index 85d070a..ee6ac6a 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageFile.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/UserStorageFile.js
@@ -5,6 +5,7 @@
"downloadURL",
"dataProductURI",
{ name: "createdTime", type: "date" },
+ { name: "modifiedTime", type: "date" },
"size",
"mimeType",
];
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStoragePathViewer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStoragePathViewer.vue
index 96a2ffe..e480ba3 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStoragePathViewer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStoragePathViewer.vue
@@ -24,8 +24,8 @@
{{ data.item.name }}</b-link
>
</template>
- <template slot="cell(createdTimestamp)" slot-scope="data">
- <human-date :date="data.item.createdTime" />
+ <template slot="cell(modifiedTimestamp)" slot-scope="data">
+ <human-date :date="data.item.modifiedTime" />
</template>
<template slot="cell(actions)" slot-scope="data">
<b-link
@@ -87,8 +87,8 @@
formatter: (value) => this.getFormattedSize(value),
},
{
- label: "Created Time",
- key: "createdTimestamp",
+ label: "Last Modified",
+ key: "modifiedTimestamp",
sortable: true,
},
{
@@ -106,8 +106,8 @@
name: d.name,
path: d.path,
type: "dir",
- createdTime: d.createdTime,
- createdTimestamp: d.createdTime.getTime(), // for sorting
+ modifiedTime: d.modifiedTime,
+ modifiedTimestamp: d.modifiedTime.getTime(), // for sorting
size: d.size,
};
});
@@ -118,8 +118,8 @@
type: "file",
dataProductURI: f.dataProductURI,
downloadURL: f.downloadURL,
- createdTime: f.createdTime,
- createdTimestamp: f.createdTime.getTime(), // for sorting
+ modifiedTime: f.modifiedTime,
+ modifiedTimestamp: f.modifiedTime.getTime(), // for sorting
size: f.size,
};
});
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 71f6991..974c27c 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
@@ -44,8 +44,8 @@
:allow-preview="allowPreview"
/>
</template>
- <template slot="cell(createdTimestamp)" slot-scope="data">
- <human-date :date="data.item.createdTime" />
+ <template slot="cell(modifiedTimestamp)" slot-scope="data">
+ <human-date :date="data.item.modifiedTime" />
</template>
<template slot="cell(actions)" slot-scope="data">
<b-button
@@ -159,8 +159,8 @@
formatter: (value) => this.getFormattedSize(value),
},
{
- label: "Created Time",
- key: "createdTimestamp",
+ label: "Last Modified",
+ key: "modifiedTimestamp",
sortable: true,
},
{
@@ -178,8 +178,8 @@
name: d.name,
path: d.path,
type: "dir",
- createdTime: d.createdTime,
- createdTimestamp: d.createdTime.getTime(), // for sorting
+ modifiedTime: d.modifiedTime,
+ modifiedTimestamp: d.modifiedTime.getTime(), // for sorting
size: d.size,
};
});
@@ -190,8 +190,8 @@
type: "file",
dataProductURI: f.dataProductURI,
downloadURL: f.downloadURL,
- createdTime: f.createdTime,
- createdTimestamp: f.createdTime.getTime(), // for sorting
+ modifiedTime: f.modifiedTime,
+ modifiedTimestamp: f.modifiedTime.getTime(), // for sorting
size: f.size,
};
});
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
index 40f6671..bd0e83d 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
@@ -81,6 +81,7 @@
files: [
{
createdTime: dataProduct.creationTime,
+ modifiedTime: dataProduct.lastModifiedTime,
dataProductURI: this.dataProductUri,
downloadURL: dataProduct.downloadURL,
mimeType: dataProduct.productMetadata["mime-type"],
diff --git a/requirements.txt b/requirements.txt
index d9e4f44..a84adf3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,7 +21,7 @@
grpcio-tools==1.34.1
grpcio==1.34.1
-airavata-django-portal-sdk==1.4.1
+airavata-django-portal-sdk==1.5.0
airavata-python-sdk==1.0.2
-e "."