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 2017/12/04 17:18:58 UTC

[airavata-django-portal] branch master updated (0744336 -> ef81b61)

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git.


    from 0744336  AIRAVATA-2598 load application and use app name to set initial exp name
     new 9597ac0  AIRAVATA-2598 Display app name in ExperimentEditor
     new ef81b61  AIRAVATA-2598 Project selector

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 django_airavata/apps/admin/package-lock.json       |  1 -
 .../js/services/ProjectService.js                  |  8 +++++
 django_airavata/apps/api/views.py                  |  9 ++++-
 .../js/views/CreateExperimentContainer.vue         |  8 +++--
 .../js/views/ExperimentEditor.vue                  | 38 ++++++++++++++++++++--
 5 files changed, 57 insertions(+), 7 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
['"commits@airavata.apache.org" <co...@airavata.apache.org>'].

[airavata-django-portal] 01/02: AIRAVATA-2598 Display app name in ExperimentEditor

Posted by ma...@apache.org.
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 9597ac0f59b12be6b960607cd3ffae0706b3c31e
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Mon Dec 4 11:26:34 2017 -0500

    AIRAVATA-2598 Display app name in ExperimentEditor
---
 django_airavata/apps/admin/package-lock.json              |  1 -
 .../js/views/CreateExperimentContainer.vue                |  8 ++++++--
 .../js/views/ExperimentEditor.vue                         | 15 ++++++++++++---
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/django_airavata/apps/admin/package-lock.json b/django_airavata/apps/admin/package-lock.json
index cd17321..769ee45 100644
--- a/django_airavata/apps/admin/package-lock.json
+++ b/django_airavata/apps/admin/package-lock.json
@@ -2662,7 +2662,6 @@
           "requires": {
             "anymatch": "1.3.2",
             "async-each": "1.0.1",
-            "fsevents": "1.1.3",
             "glob-parent": "2.0.0",
             "inherits": "2.0.3",
             "is-binary-path": "1.0.1",
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/CreateExperimentContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/CreateExperimentContainer.vue
index d9e7fcb..68a0828 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/CreateExperimentContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/CreateExperimentContainer.vue
@@ -1,5 +1,7 @@
 <template>
-    <experiment-editor :experiment="experiment"></experiment-editor>
+    <experiment-editor :experiment="experiment" :app-module="appModule">
+        <span slot="title">Create a New Experiment</span>
+    </experiment-editor>
 </template>
 
 <script>
@@ -17,6 +19,7 @@ export default {
     data () {
         return {
             'experiment': new models.Experiment(),
+            'appModule': null,
         }
     },
     components: {
@@ -30,7 +33,8 @@ export default {
         // TODO: integrate loading spinner
         services.ApplicationModuleService.get(this.appModuleId)
             .then(appModule => {
-                this.experiment.experimentName = appModule.appModuleName + ' ' + moment().format('lll');
+                this.experiment.experimentName = appModule.appModuleName + ' on ' + moment().format('lll');
+                this.appModule = appModule;
             });
     }
 }
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
index 829ca53..07d9b2e 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
@@ -2,7 +2,10 @@
     <div>
         <div class="row">
             <div class="col">
-                <h1 class="h4 mb-4">Create a New Experiment</h1>
+                <h1 class="h4 mb-4">
+                    <div v-if="appModule" class="application-name text-muted text-uppercase"><i class="fa fa-code" aria-hidden="true"></i> {{ appModule.appModuleName }}</div>
+                    <slot name="title">Experiment Editor</slot>
+                </h1>
             </div>
         </div>
         <div class="row">
@@ -26,10 +29,16 @@
 <script>
 export default {
     name: 'edit-experiment',
-    props: ['experiment'],
+    props: ['experiment', 'appModule'],
     data () {
         return {
         }
     },
 }
-</script>
\ No newline at end of file
+</script>
+
+<style>
+.application-name {
+    font-size: 12px;
+}
+</style>
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@airavata.apache.org" <co...@airavata.apache.org>.

[airavata-django-portal] 02/02: AIRAVATA-2598 Project selector

Posted by ma...@apache.org.
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 ef81b612db28ea7cbe9c9bd3dba2633a6348786c
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Mon Dec 4 12:18:51 2017 -0500

    AIRAVATA-2598 Project selector
---
 .../js/services/ProjectService.js                  |  8 ++++++++
 django_airavata/apps/api/views.py                  |  9 ++++++++-
 .../js/views/ExperimentEditor.vue                  | 23 ++++++++++++++++++++++
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/django_airavata/apps/api/static/django_airavata_api/js/services/ProjectService.js b/django_airavata/apps/api/static/django_airavata_api/js/services/ProjectService.js
index 7ecae97..598e4d6 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/services/ProjectService.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/services/ProjectService.js
@@ -16,6 +16,14 @@ class ProjectService {
         }
     }
 
+    listAll() {
+        return fetch('/api/projects/list_all/', {
+            credentials: 'include'
+        })
+        .then(response => response.json())
+        .then(json => json.map(project => new Project(project)));
+    }
+
     create(project) {
         return FetchUtils.post('/api/projects/', project.toJSONForCreate())
             .then(result => new Project(result));
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index b411baa..c610ddc 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -2,7 +2,9 @@
 from . import serializers
 
 from rest_framework import status, mixins, pagination
-from rest_framework.decorators import api_view, detail_route
+from rest_framework.decorators import api_view
+from rest_framework.decorators import detail_route
+from rest_framework.decorators import list_route
 from rest_framework.views import APIView
 from rest_framework.viewsets import GenericViewSet
 from rest_framework.response import Response
@@ -211,6 +213,11 @@ class ProjectViewSet(APIBackedViewSet):
         project = serializer.save()
         self.request.airavata_client.updateProject(self.authz_token, project.projectID, project)
 
+    @list_route()
+    def list_all(self, request):
+        projects = self.request.airavata_client.getUserProjects(self.authz_token, self.gateway_id, self.username, -1, 0)
+        serializer = serializers.ProjectSerializer(projects, many=True, context={'request': request})
+        return Response(serializer.data)
 
     @detail_route()
     def experiments(self, request, project_id=None):
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
index 07d9b2e..aec3969 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/views/ExperimentEditor.vue
@@ -18,6 +18,14 @@
                                 type="text" v-model="experiment.experimentName" required
                                 placeholder="Experiment name"></b-form-input>
                             </b-form-group>
+                            <b-form-group label="Project" label-for="project">
+                                <b-form-select id="project"
+                                v-model="experiment.projectId" :options="projectOptions" required>
+                                <template slot="first">
+                                    <option :value="null" disabled>Select a Project</option>
+                                </template>
+                            </b-form-select>
+                            </b-form-group>
                         </b-form>
                     </div>
                 </div>
@@ -27,13 +35,28 @@
 </template>
 
 <script>
+import {models, services} from 'django-airavata-api'
+
 export default {
     name: 'edit-experiment',
     props: ['experiment', 'appModule'],
     data () {
         return {
+            'projects': [],
         }
     },
+    mounted: function () {
+        services.ProjectService.listAll()
+            .then(projects => this.projects = projects);
+    },
+    computed: {
+        projectOptions: function() {
+            return this.projects.map(project => ({
+                value: project.projectID,
+                text: project.name,
+            }));
+        }
+    }
 }
 </script>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@airavata.apache.org" <co...@airavata.apache.org>.