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/29 19:44:45 UTC
[airavata-django-portal] 01/02: AIRAVATA-3018 Only show edit button
when project is writeable
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 9d85444118e41133859dfab863181b536e70db0b
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed May 29 15:43:42 2019 -0400
AIRAVATA-3018 Only show edit button when project is writeable
---
django_airavata/apps/api/serializers.py | 7 +++++++
.../apps/api/static/django_airavata_api/js/models/Project.js | 3 ++-
.../js/components/project/ProjectListItem.vue | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index b36524e..26ebf7e 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -247,6 +247,7 @@ class ProjectSerializer(
lookup_field='projectID',
lookup_url_kwarg='project_id')
creationTime = UTCPosixTimestampDateTimeField(allow_null=True)
+ userHasWriteAccess = serializers.SerializerMethodField()
def create(self, validated_data):
return Project(**validated_data)
@@ -257,6 +258,12 @@ class ProjectSerializer(
'description', instance.description)
return instance
+ def get_userHasWriteAccess(self, project):
+ request = self.context['request']
+ return request.airavata_client.userHasAccess(
+ request.authz_token, project.projectID,
+ ResourcePermissionType.WRITE)
+
class ApplicationModuleSerializer(
thrift_utils.create_serializer_class(ApplicationModule)):
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/Project.js b/django_airavata/apps/api/static/django_airavata_api/js/models/Project.js
index 59bc6be..55ad97f 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/Project.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/Project.js
@@ -10,6 +10,7 @@ const FIELDS = [
name: 'creationTime',
type: 'date'
},
+ 'userHasWriteAccess'
];
export default class Project extends BaseModel {
@@ -25,4 +26,4 @@ export default class Project extends BaseModel {
}
return null;
}
-}
\ No newline at end of file
+}
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/project/ProjectListItem.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/project/ProjectListItem.vue
index 2434240..8b690c1 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/project/ProjectListItem.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/project/ProjectListItem.vue
@@ -3,7 +3,7 @@
<td>{{ project.name }}</td>
<td>{{ project.owner }}</td>
<td v-bind:title="project.creationTime">{{ creationTime }}</td>
- <td><a :href="editLink">Edit <i
+ <td><a :href="editLink" v-if="project.userHasWriteAccess">Edit <i
class="fa fa-edit"
aria-hidden="true"
></i></a></td>