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/10/30 14:28:58 UTC
[airavata-django-portal] branch master updated: AIRAVATA-3250 Link
on dashboard to PGA
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
The following commit(s) were added to refs/heads/master by this push:
new e527842 AIRAVATA-3250 Link on dashboard to PGA
e527842 is described below
commit e527842cd2e017bf6e908192e0da458698ad2689
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Oct 30 10:14:41 2019 -0400
AIRAVATA-3250 Link on dashboard to PGA
---
django_airavata/apps/api/serializers.py | 1 +
.../django_airavata_api/js/models/Settings.js | 2 +-
django_airavata/apps/api/views.py | 1 +
.../js/components/PgaLink.vue | 40 ++++++++++++++++++++++
.../js/containers/DashboardContainer.vue | 8 +++--
django_airavata/settings.py | 3 ++
django_airavata/settings_local.py.sample | 3 ++
.../static/common/js/components/Uppy.vue | 3 +-
8 files changed, 57 insertions(+), 4 deletions(-)
diff --git a/django_airavata/apps/api/serializers.py b/django_airavata/apps/api/serializers.py
index 84da946..5929bb0 100644
--- a/django_airavata/apps/api/serializers.py
+++ b/django_airavata/apps/api/serializers.py
@@ -976,3 +976,4 @@ class LogRecordSerializer(serializers.Serializer):
class SettingsSerializer(serializers.Serializer):
fileUploadMaxFileSize = serializers.IntegerField()
tusEndpoint = serializers.CharField()
+ pgaUrl = serializers.CharField()
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/Settings.js b/django_airavata/apps/api/static/django_airavata_api/js/models/Settings.js
index 3d80d88..3bcae81 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/models/Settings.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/models/Settings.js
@@ -1,6 +1,6 @@
import BaseModel from "./BaseModel";
-const FIELDS = ["fileUploadMaxFileSize", "tusEndpoint"];
+const FIELDS = ["fileUploadMaxFileSize", "tusEndpoint", "pgaUrl"];
export default class Settings extends BaseModel {
constructor(data = {}) {
diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 0c4d731..7fa8523 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -1740,6 +1740,7 @@ class SettingsAPIView(APIView):
data = {
'fileUploadMaxFileSize': settings.FILE_UPLOAD_MAX_FILE_SIZE,
'tusEndpoint': settings.TUS_ENDPOINT,
+ 'pgaUrl': settings.PGA_URL
}
serializer = self.serializer_class(
data, context={'request': request})
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/PgaLink.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/PgaLink.vue
new file mode 100644
index 0000000..01858a7
--- /dev/null
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/PgaLink.vue
@@ -0,0 +1,40 @@
+<template>
+ <div
+ class="row"
+ v-if="showPGAUrl"
+ >
+ <div class="col">
+ <b-alert
+ variant="info"
+ show
+ >You're using the new portal interface. To switch back to the old interface, go to <b-link
+ :href="settings.pgaUrl">{{ settings.pgaUrl }}</b-link>
+ </b-alert>
+ </div>
+ </div>
+</template>
+
+<script>
+import { services } from "django-airavata-api";
+export default {
+ name: "pga-url",
+ data() {
+ return {
+ settings: null
+ };
+ },
+ computed: {
+ showPGAUrl() {
+ return this.settings && this.settings.pgaUrl != null;
+ }
+ },
+ beforeMount() {
+ services.SettingsService.get().then(s => {
+ this.settings = s;
+ });
+ }
+};
+</script>
+
+<style>
+</style>
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/DashboardContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/DashboardContainer.vue
index a7c05de..810057f 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/DashboardContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/DashboardContainer.vue
@@ -1,5 +1,6 @@
<template>
<div>
+ <pga-link />
<div class="row">
<div class="col">
<h1 class="h4 mb-4">Dashboard</h1>
@@ -75,6 +76,7 @@
import { services, session } from "django-airavata-api";
import { components as comps } from "django-airavata-common-ui";
import urls from "../utils/urls";
+import PgaLink from "../components/PgaLink";
export default {
name: "dashboard-container",
@@ -88,7 +90,8 @@ export default {
},
components: {
"application-card": comps.ApplicationCard,
- "favorite-toggle": comps.FavoriteToggle
+ "favorite-toggle": comps.FavoriteToggle,
+ "pga-link": PgaLink
},
methods: {
handleAppSelected: function(appModule) {
@@ -109,7 +112,8 @@ export default {
);
this.$nextTick(() => {
this.$refs.favoriteApplicationCards[index].$el.scrollIntoView({
- behavior: "smooth", block: "center"
+ behavior: "smooth",
+ block: "center"
});
});
});
diff --git a/django_airavata/settings.py b/django_airavata/settings.py
index 58bce54..9efe750 100644
--- a/django_airavata/settings.py
+++ b/django_airavata/settings.py
@@ -222,6 +222,9 @@ TUS_ENDPOINT = None
# Override and set to the directory where tus uploads will be stored
TUS_DATA_DIR = None
+# Legacy (PGA) Portal link - provide a link to the legacy portal
+PGA_URL = None
+
# Django REST Framework configuration
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
diff --git a/django_airavata/settings_local.py.sample b/django_airavata/settings_local.py.sample
index d36b38c..65358f4 100644
--- a/django_airavata/settings_local.py.sample
+++ b/django_airavata/settings_local.py.sample
@@ -103,6 +103,9 @@ PORTAL_TITLE = 'Django Airavata Gateway'
# Override and set to the directory where tus uploads will be stored.
# TUS_DATA_DIR = "/path/to/tus-temp-dir"
+# Legacy (PGA) Portal link - uncomment to provide a link to the legacy portal
+# PGA_URL = '...'
+
# Logging configuration. Uncomment following to override default log configuration
# LOGGING = {
# 'version': 1,
diff --git a/django_airavata/static/common/js/components/Uppy.vue b/django_airavata/static/common/js/components/Uppy.vue
index 16e1966..495a342 100644
--- a/django_airavata/static/common/js/components/Uppy.vue
+++ b/django_airavata/static/common/js/components/Uppy.vue
@@ -55,7 +55,8 @@ export default {
data() {
return {
uppy: null,
- restrictionFailedMessage: null
+ restrictionFailedMessage: null,
+ settings: null
};
},
computed: {