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/06/30 19:37:41 UTC

[airavata-django-portal] branch develop updated: AIRAVATA-3475 Create symlinks to shared directories in user storage for each user

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 3b9cefd  AIRAVATA-3475 Create symlinks to shared directories in user storage for each user
     new d52a245  Merge branch 'airavata-3475' into develop
3b9cefd is described below

commit 3b9cefd784ba1e4c7b6066e636eeb4560f9cd7e8
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Jun 30 15:37:06 2021 -0400

    AIRAVATA-3475 Create symlinks to shared directories in user storage for each user
---
 django_airavata/apps/api/signals.py      | 5 +++++
 django_airavata/settings_local.py.sample | 7 +++++++
 requirements.txt                         | 2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/django_airavata/apps/api/signals.py b/django_airavata/apps/api/signals.py
index 448ef88..a3aa065 100644
--- a/django_airavata/apps/api/signals.py
+++ b/django_airavata/apps/api/signals.py
@@ -3,6 +3,7 @@
 import logging
 
 from airavata_django_portal_sdk import user_storage
+from django.conf import settings
 from django.contrib.auth.signals import user_logged_in
 from django.dispatch import Signal, receiver
 
@@ -21,3 +22,7 @@ def create_user_storage_dir(sender, request, user, **kwargs):
     if not user_storage.dir_exists(request, path):
         user_storage.create_user_dir(request, path)
         log.info("Created home directory for user {}".format(user.username))
+
+    if hasattr(settings, 'GATEWAY_DATA_SHARED_DIRECTORIES'):
+        for name, entry in settings.GATEWAY_DATA_SHARED_DIRECTORIES.items():
+            user_storage.create_symlink(request, entry['path'], name)
diff --git a/django_airavata/settings_local.py.sample b/django_airavata/settings_local.py.sample
index bb01319..67ab71c 100644
--- a/django_airavata/settings_local.py.sample
+++ b/django_airavata/settings_local.py.sample
@@ -86,6 +86,13 @@ GATEWAY_DATA_STORE_DIR = '/tmp'
 GATEWAY_DATA_STORE_HOSTNAME = 'localhost'
 FILE_UPLOAD_TEMP_DIR = '/tmp'
 
+# Define shared directories. Each entry is symlinked into the user's storage.
+# GATEWAY_DATA_SHARED_DIRECTORIES = {
+#     'Display Name': {
+#         'path': '/path/to/shared/dir'
+#     }
+# }
+
 # Profile Service Configuration
 PROFILE_SERVICE_HOST = AIRAVATA_API_HOST
 PROFILE_SERVICE_PORT = 8962
diff --git a/requirements.txt b/requirements.txt
index 2e0f102..2e84e21 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19,6 +19,6 @@ google-api-python-client==1.12.8
 grpcio-tools==1.34.1
 grpcio==1.34.1
 
-airavata-django-portal-sdk==1.1.dev2
+airavata-django-portal-sdk==1.1.dev3
 -e git+https://github.com/apache/airavata.git@develop#egg=airavata-python-sdk&subdirectory=airavata-api/airavata-client-sdks/airavata-python-sdk
 -e "."