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 2021/04/15 22:09:46 UTC

[airavata-django-portal] branch develop updated: AIRAVATA-3440 Support "next" query parameter in group 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 002569f  AIRAVATA-3440 Support "next" query parameter in group views
002569f is described below

commit 002569f21aac80da25dc9c9ac5e4afbc02ac5326
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu Apr 15 18:09:07 2021 -0400

    AIRAVATA-3440 Support "next" query parameter in group views
---
 .../js/containers/GroupCreateContainer.vue           |  8 +++++++-
 .../js/containers/GroupEditContainer.vue             |  6 +++++-
 .../js/group-create-entry-point.js                   | 20 +++++++++++++++++++-
 .../js/group-edit-entry-point.js                     |  5 +++++
 .../templates/django_airavata_groups/base.html       |  2 +-
 .../templates/django_airavata_groups/group_edit.html |  2 +-
 django_airavata/apps/groups/views.py                 |  2 ++
 7 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupCreateContainer.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupCreateContainer.vue
index bdb17f5..8b8085e 100644
--- a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupCreateContainer.vue
+++ b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupCreateContainer.vue
@@ -8,6 +8,12 @@ import GroupEditor from "../group_components/GroupEditor.vue";
 import { models, session } from "django-airavata-api";
 export default {
   name: "group-create-container",
+  props: {
+    next: {
+      type: String,
+      required: true,
+    },
+  },
   data() {
     return {
       newGroup: this.createNewGroup(),
@@ -18,7 +24,7 @@ export default {
   },
   methods: {
     handleSaved: function () {
-      window.location.assign("/groups/");
+      window.location.assign(this.next);
     },
     createNewGroup() {
       const group = new models.Group();
diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue
index 582c640..ff1e8bb 100644
--- a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue
+++ b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue
@@ -14,6 +14,10 @@ export default {
       type: String,
       required: true,
     },
+    next: {
+      type: String,
+      required: true,
+    },
   },
   data() {
     return {
@@ -25,7 +29,7 @@ export default {
   },
   methods: {
     handleSaved: function () {
-      window.location.assign("/groups/");
+      window.location.assign(this.next);
     },
   },
   computed: {},
diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/group-create-entry-point.js b/django_airavata/apps/groups/static/django_airavata_groups/js/group-create-entry-point.js
index 521bc35..e99116d 100644
--- a/django_airavata/apps/groups/static/django_airavata_groups/js/group-create-entry-point.js
+++ b/django_airavata/apps/groups/static/django_airavata_groups/js/group-create-entry-point.js
@@ -3,6 +3,24 @@ import GroupCreateContainer from "./containers/GroupCreateContainer.vue";
 
 entry((Vue) => {
   new Vue({
-    render: (h) => h(components.MainLayout, [h(GroupCreateContainer)]),
+    render(h) {
+      return h(components.MainLayout, [
+        h(GroupCreateContainer, {
+          props: {
+            next: this.next,
+          },
+        }),
+      ]);
+    },
+    data() {
+      return {
+        next: "/groups/",
+      };
+    },
+    beforeMount() {
+      if (this.$el.dataset.next) {
+        this.next = this.$el.dataset.next;
+      }
+    },
   }).$mount("#group-create");
 });
diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/group-edit-entry-point.js b/django_airavata/apps/groups/static/django_airavata_groups/js/group-edit-entry-point.js
index 22590eb..b019138 100644
--- a/django_airavata/apps/groups/static/django_airavata_groups/js/group-edit-entry-point.js
+++ b/django_airavata/apps/groups/static/django_airavata_groups/js/group-edit-entry-point.js
@@ -8,6 +8,7 @@ entry((Vue) => {
         h(GroupEditContainer, {
           props: {
             groupId: this.groupId,
+            next: this.next,
           },
         }),
       ]);
@@ -15,12 +16,16 @@ entry((Vue) => {
     data() {
       return {
         groupId: null,
+        next: "/groups/",
       };
     },
     beforeMount() {
       if (this.$el.dataset.groupId) {
         this.groupId = this.$el.dataset.groupId;
       }
+      if (this.$el.dataset.next) {
+        this.next = this.$el.dataset.next;
+      }
     },
   }).$mount("#group-edit");
 });
diff --git a/django_airavata/apps/groups/templates/django_airavata_groups/base.html b/django_airavata/apps/groups/templates/django_airavata_groups/base.html
index 7763f08..7fb55d6 100755
--- a/django_airavata/apps/groups/templates/django_airavata_groups/base.html
+++ b/django_airavata/apps/groups/templates/django_airavata_groups/base.html
@@ -10,7 +10,7 @@
 {% endblock %}
 
 {% block content %}
-<div id="{{ bundle_name }}"/>
+<div id="{{ bundle_name }}" {% if next %} data-next="{{ next }}" {% endif %} />
 {% endblock content %}
 
 {% block scripts %}
diff --git a/django_airavata/apps/groups/templates/django_airavata_groups/group_edit.html b/django_airavata/apps/groups/templates/django_airavata_groups/group_edit.html
index d608588..b86b2fd 100755
--- a/django_airavata/apps/groups/templates/django_airavata_groups/group_edit.html
+++ b/django_airavata/apps/groups/templates/django_airavata_groups/group_edit.html
@@ -1,5 +1,5 @@
 {% extends './base.html' %}
 
 {% block content %}
-<div id="group-edit" data-group-id="{{ group_id }}"></div>
+<div id="group-edit" data-group-id="{{ group_id }}" {% if next %} data-next="{{ next }}" {% endif %}></div>
 {% endblock content %}
diff --git a/django_airavata/apps/groups/views.py b/django_airavata/apps/groups/views.py
index fecb0ef..3797a72 100755
--- a/django_airavata/apps/groups/views.py
+++ b/django_airavata/apps/groups/views.py
@@ -19,6 +19,7 @@ def groups_create(request):
 
     return render(request, 'django_airavata_groups/base.html', {
         'bundle_name': 'group-create',
+        'next': request.GET.get('next'),
     })
 
 
@@ -29,4 +30,5 @@ def edit_group(request, group_id):
     return render(request, 'django_airavata_groups/group_edit.html', {
         'bundle_name': 'group-edit',
         'group_id': group_id,
+        'next': request.GET.get('next'),
     })