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 2022/08/17 19:24:34 UTC

[airavata-django-portal] branch develop updated: AIRAVATA-3648 Show last modified time in user storage views

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


The following commit(s) were added to refs/heads/develop by this push:
     new 19dd2baf AIRAVATA-3648 Show last modified time in user storage views
19dd2baf is described below

commit 19dd2baff3f7247c2415012a14dcecaa34b69bc1
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Aug 17 15:23:49 2022 -0400

    AIRAVATA-3648 Show last modified time in user storage views
---
 django_airavata/apps/api/serializers.py                  |  4 ++++
 .../js/models/UserStorageDirectory.js                    |  1 +
 .../django_airavata_api/js/models/UserStorageFile.js     |  1 +
 .../components/storage/ExperimentStoragePathViewer.vue   | 16 ++++++++--------
 .../js/components/storage/UserStoragePathViewer.vue      | 16 ++++++++--------
 .../js/containers/UserStorageContainer.vue               |  1 +
 requirements.txt                                         |  2 +-
 7 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 84d32b5b..d7a52d4b 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -531,6 +531,7 @@ class DataReplicaLocationSerializer(
 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 @@ class UserStorageFileSerializer(serializers.Serializer):
     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 @@ class UserStorageDirectorySerializer(serializers.Serializer):
     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 @@ class ExperimentStorageDirectorySerializer(serializers.Serializer):
     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 f1c0c3a3..2ff65dfc 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 @@ const FIELDS = [
   "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 85d070a0..ee6ac6a7 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 @@ const FIELDS = [
   "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 96a2ffec..e480ba31 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 @@ export default {
           formatter: (value) => this.getFormattedSize(value),
         },
         {
-          label: "Created Time",
-          key: "createdTimestamp",
+          label: "Last Modified",
+          key: "modifiedTimestamp",
           sortable: true,
         },
         {
@@ -106,8 +106,8 @@ export default {
               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 @@ export default {
             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 71f6991d..974c27c8 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 @@ export default {
           formatter: (value) => this.getFormattedSize(value),
         },
         {
-          label: "Created Time",
-          key: "createdTimestamp",
+          label: "Last Modified",
+          key: "modifiedTimestamp",
           sortable: true,
         },
         {
@@ -178,8 +178,8 @@ export default {
               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 @@ export default {
             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 40f66713..bd0e83da 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 @@ export default {
               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 d9e4f442..a84adf39 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,7 +21,7 @@ google-api-python-client==1.12.8
 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 "."