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 2020/11/03 21:22:50 UTC

[airavata-django-portal] branch develop updated (63d144f -> 2befa79)

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

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


    from 63d144f  AIRAVATA-3370 add linkifyjs to yarn.lock
     new d8c01b6  AIRAVATA-3376 upgraded to LTS versions of Django, Wagtail
     new 655475d  Merge branch 'develop' into AIRAVATA-3376
     new cf08767  AIRAVATA-3376 Fixing deprecation warnings
     new d0ac943  AIRAVATA-3376 Fix decoding JSON bytestring
     new 726a366  AIRAVATA-3376 Update DRF to 3.10.3 and fix deprecation warnings
     new 624593b  AIRAVATA-3376 Upgrading wagtailfontawesome to fix deprecation warning
     new b63b052  AIRAVATA-3376 Update Dockerfile to Python 3.8
     new 2befa79  AIRAVATA-3376 Updating Python versions note

The 8 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:
 .gitignore                              |  1 +
 .travis.yml                             |  5 ++--
 Dockerfile                              |  2 +-
 README.md                               |  4 ++--
 django_airavata/apps/api/urls.py        | 40 +++++++++++++++----------------
 django_airavata/apps/api/views.py       | 42 ++++++++++++++++-----------------
 django_airavata/apps/workspace/views.py |  6 ++---
 django_airavata/utils.py                |  6 ++++-
 django_airavata/views.py                |  6 ++---
 requirements-dev.txt                    |  1 +
 requirements.txt                        |  8 +++----
 setup.cfg                               |  3 ++-
 tox.ini                                 | 14 +++++++++++
 13 files changed, 79 insertions(+), 59 deletions(-)
 create mode 100644 tox.ini


[airavata-django-portal] 03/08: AIRAVATA-3376 Fixing deprecation warnings

Posted by ma...@apache.org.
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

commit cf08767e065a31854dc2138ab4c3845ec6de802b
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 15:27:09 2020 -0500

    AIRAVATA-3376 Fixing deprecation warnings
---
 django_airavata/apps/api/views.py | 42 +++++++++++++++++++--------------------
 django_airavata/utils.py          |  6 +++++-
 2 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/django_airavata/apps/api/views.py b/django_airavata/apps/api/views.py
index 5e5da73..786bd24 100644
--- a/django_airavata/apps/api/views.py
+++ b/django_airavata/apps/api/views.py
@@ -33,8 +33,6 @@ from rest_framework import mixins
 from rest_framework.decorators import (
     action,
     api_view,
-    detail_route,
-    list_route
 )
 from rest_framework.exceptions import ParseError
 from rest_framework.renderers import JSONRenderer
@@ -169,7 +167,7 @@ class ProjectViewSet(APIBackedViewSet):
             self.authz_token, project.projectID, project)
         self._update_most_recent_project(project.projectID)
 
-    @list_route()
+    @action(detail=False)
     def list_all(self, request):
         projects = self.request.airavata_client.getUserProjects(
             self.authz_token, self.gateway_id, self.username, -1, 0)
@@ -177,7 +175,7 @@ class ProjectViewSet(APIBackedViewSet):
             projects, many=True, context={'request': request})
         return Response(serializer.data)
 
-    @detail_route()
+    @action(detail=True)
     def experiments(self, request, project_id=None):
         experiments = request.airavata_client.getExperimentsInProject(
             self.authz_token, project_id, -1, 0)
@@ -280,7 +278,7 @@ class ExperimentViewSet(mixins.CreateModelMixin,
         else:
             return data_product_uri
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def launch(self, request, experiment_id=None):
         try:
             if getattr(
@@ -311,7 +309,7 @@ class ExperimentViewSet(mixins.CreateModelMixin,
         except Exception as e:
             return Response({'success': False, 'errorMessage': e.message})
 
-    @detail_route(methods=['get'])
+    @action(methods=['get'], detail=True)
     def jobs(self, request, experiment_id=None):
         jobs = request.airavata_client.getJobDetails(
             self.authz_token, experiment_id)
@@ -319,7 +317,7 @@ class ExperimentViewSet(mixins.CreateModelMixin,
             jobs, many=True, context={'request': request})
         return Response(serializer.data)
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def clone(self, request, experiment_id=None):
         if getattr(
             settings,
@@ -362,7 +360,7 @@ class ExperimentViewSet(mixins.CreateModelMixin,
                 cloned_experiment, context={'request': request})
             return Response(serializer.data)
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def cancel(self, request, experiment_id=None):
         try:
             request.airavata_client.terminateExperiment(
@@ -607,7 +605,7 @@ class ApplicationModuleViewSet(APIBackedViewSet):
         self.request.airavata_client.deleteApplicationModule(
             self.authz_token, instance.appModuleId)
 
-    @detail_route()
+    @action(detail=True)
     def application_interface(self, request, app_module_id):
         all_app_interfaces = request.airavata_client.getAllApplicationInterfaces(
             self.authz_token, self.gateway_id)
@@ -633,7 +631,7 @@ class ApplicationModuleViewSet(APIBackedViewSet):
             raise Http404("No application interface found for module id {}"
                           .format(app_module_id))
 
-    @detail_route()
+    @action(detail=True)
     def application_deployments(self, request, app_module_id):
         all_deployments = self.request.airavata_client.getAllApplicationDeployments(
             self.authz_token, self.gateway_id)
@@ -643,7 +641,7 @@ class ApplicationModuleViewSet(APIBackedViewSet):
             app_deployments, many=True, context={'request': request})
         return Response(serializer.data)
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def favorite(self, request, app_module_id):
         helper = helpers.WorkspacePreferencesHelper()
         workspace_preferences = helper.get(request)
@@ -661,7 +659,7 @@ class ApplicationModuleViewSet(APIBackedViewSet):
 
         return HttpResponse(status=204)
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def unfavorite(self, request, app_module_id):
         helper = helpers.WorkspacePreferencesHelper()
         workspace_preferences = helper.get(request)
@@ -679,7 +677,7 @@ class ApplicationModuleViewSet(APIBackedViewSet):
 
         return HttpResponse(status=204)
 
-    @list_route()
+    @action(detail=False)
     def list_all(self, request, format=None):
         all_modules = self.request.airavata_client.getAllAppModules(
             self.authz_token, self.gateway_id)
@@ -735,7 +733,7 @@ class ApplicationInterfaceViewSet(APIBackedViewSet):
                     o["isRequired"] = app_input.isRequired
                     app_input.metaData = json.dumps(metadata)
 
-    @detail_route()
+    @action(detail=True)
     def compute_resources(self, request, app_interface_id):
         compute_resources = request.airavata_client.getAvailableAppInterfaceComputeResources(
             self.authz_token, app_interface_id)
@@ -780,7 +778,7 @@ class ApplicationDeploymentViewSet(APIBackedViewSet):
         self.request.airavata_client.deleteApplicationDeployment(
             self.authz_token, instance.appDeploymentId)
 
-    @detail_route()
+    @action(detail=True)
     def queues(self, request, app_deployment_id):
         """Return queues for this deployment with defaults overridden by deployment defaults if they exist"""
         app_deployment = self.request.airavata_client.getApplicationDeployment(
@@ -814,14 +812,14 @@ class ComputeResourceViewSet(mixins.RetrieveModelMixin,
         return self.request.airavata_client.getComputeResource(
             self.authz_token, lookup_value)
 
-    @list_route()
+    @action(detail=False)
     def all_names(self, request, format=None):
         """Return a map of compute resource names keyed by resource id."""
         return Response(
             request.airavata_client.getAllComputeResourceNames(
                 request.authz_token))
 
-    @list_route()
+    @action(detail=False)
     def all_names_list(self, request, format=None):
         """Return a list of compute resource names keyed by resource id."""
         all_names = request.airavata_client.getAllComputeResourceNames(
@@ -836,7 +834,7 @@ class ComputeResourceViewSet(mixins.RetrieveModelMixin,
             } for host_id, host in all_names.items()
         ])
 
-    @detail_route()
+    @action(detail=True)
     def queues(self, request, compute_resource_id, format=None):
         details = request.airavata_client.getComputeResource(
             request.authz_token, compute_resource_id)
@@ -1280,7 +1278,7 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
             self.authz_token, entity_id,
             {group_id: permission_type for group_id in group_ids})
 
-    @detail_route(methods=['put'])
+    @action(methods=['put'], detail=True)
     def merge(self, request, entity_id=None):
         # Validate updated sharing settings
         updated = self.get_serializer(data=request.data)
@@ -1303,7 +1301,7 @@ class SharedEntityViewSet(mixins.RetrieveModelMixin,
         self.perform_update(merged_serializer)
         return Response(merged_serializer.data)
 
-    @detail_route(methods=['get'])
+    @action(methods=['get'], detail=True)
     def all(self, request, entity_id=None):
         """Load direct plus indirectly (inherited) shared permissions."""
         users = {}
@@ -1465,7 +1463,7 @@ class StorageResourceViewSet(mixins.RetrieveModelMixin,
         return self.request.airavata_client.getStorageResource(
             self.authz_token, lookup_value)
 
-    @list_route()
+    @action(detail=False)
     def all_names(self, request, format=None):
         """Return a map of compute resource names keyed by resource id."""
         return Response(
@@ -1732,7 +1730,7 @@ class IAMUserViewSet(mixins.RetrieveModelMixin,
     def perform_destroy(self, instance):
         iam_admin_client.delete_user(instance['userId'])
 
-    @detail_route(methods=['post'])
+    @action(methods=['post'], detail=True)
     def enable(self, request, user_id=None):
         iam_admin_client.enable_user(user_id)
         instance = self.get_instance(user_id)
diff --git a/django_airavata/utils.py b/django_airavata/utils.py
index 0750197..006182e 100644
--- a/django_airavata/utils.py
+++ b/django_airavata/utils.py
@@ -1,4 +1,5 @@
 import logging
+import ssl
 from contextlib import contextmanager
 
 import thrift_connector.connection_pool as connection_pool
@@ -196,7 +197,10 @@ class CustomThriftClient(connection_pool.ThriftClient):
             return super().get_socket_factory()
         else:
             def factory(host, port):
-                return TSSLSocket.TSSLSocket(host, port, validate=cls.validate)
+                return TSSLSocket.TSSLSocket(host, port,
+                                             cert_reqs=(ssl.CERT_REQUIRED
+                                                        if cls.validate
+                                                        else ssl.CERT_NONE))
             return factory
 
     def ping(self):


[airavata-django-portal] 07/08: AIRAVATA-3376 Update Dockerfile to Python 3.8

Posted by ma...@apache.org.
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

commit b63b0520a2c234dd1c70fc3fc3690d83e3aad24f
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 16:19:07 2020 -0500

    AIRAVATA-3376 Update Dockerfile to Python 3.8
---
 Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile
index 3a5dbef..684d6de 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -55,7 +55,7 @@ RUN yarn run build
 
 
 
-FROM python:3.6.5 as server-stage
+FROM python:3.8 as server-stage
 
 ENV PYTHONUNBUFFERED 1
 ENV OAUTHLIB_INSECURE_TRANSPORT 1


[airavata-django-portal] 01/08: AIRAVATA-3376 upgraded to LTS versions of Django, Wagtail

Posted by ma...@apache.org.
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

commit d8c01b6ca87801dfb57a2874c0404bf1c89598dc
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu Sep 24 19:28:07 2020 -0400

    AIRAVATA-3376 upgraded to LTS versions of Django, Wagtail
    
    Added tox for running tests against Python versions 3.6, 3.7 and 3.8 to
    ensure compatibility.
---
 .gitignore               |  1 +
 .travis.yml              |  5 +++--
 README.md                |  4 ++--
 django_airavata/views.py |  6 +++---
 requirements-dev.txt     |  1 +
 requirements.txt         |  4 ++--
 setup.cfg                |  3 ++-
 tox.ini                  | 14 ++++++++++++++
 8 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/.gitignore b/.gitignore
index 65af29f..e8fcdc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ airavata_django_portal.egg-info
 package-lock.json
 # mkdocs
 site/
+.tox/
diff --git a/.travis.yml b/.travis.yml
index 6c87051..9e91f7d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,8 @@
 language: python
 python:
   - "3.6"
+  - "3.7"
+  - "3.8"
 install:
   - pip install -r requirements-dev.txt
 script:
@@ -8,10 +10,9 @@ script:
   - python manage.py migrate
   - python manage.py check
   - flake8 .
-  - python manage.py test
   - ./lint_js.sh
   - ./build_js.sh
   - ./test_js.sh
   # Need to build the frontend client before running some of the Django tests
   # that use the Django test Client
-  - python manage.py test
+  - ./runtests.py
diff --git a/README.md b/README.md
index 94062cd..1a855bb 100644
--- a/README.md
+++ b/README.md
@@ -16,8 +16,8 @@ Django Portal locally. This will allow you to try it out and can also be used as
 a development environment. If you just want to run the Airavata Django Portal
 locally, see the Docker instructions below for a more simplified approach.
 
-The Airavata Django Portal is developed with Python 3.6 but should also work
-with 3.4 and 3.5. You'll need one of these versions installed locally.
+The Airavata Django Portal is developed with Python 3.8 but should also work
+with 3.6 and 3.7. You'll need one of these versions installed locally.
 
 You'll also need Node.js and yarn to build the JavaScript frontend code. Please
 install
diff --git a/django_airavata/views.py b/django_airavata/views.py
index 8128848..e984c10 100644
--- a/django_airavata/views.py
+++ b/django_airavata/views.py
@@ -15,7 +15,7 @@ def error500(request):
                   })
 
 
-def error400(request):
+def error400(request, exception):
     return render(request, 'django_airavata/error_page.html', status=400,
                   context={
                       'title': 'Bad Request',
@@ -24,7 +24,7 @@ def error400(request):
                   })
 
 
-def error404(request):
+def error404(request, exception):
     return render(request, 'django_airavata/error_page.html', status=404,
                   context={
                       'title': 'Page Not Found',
@@ -32,7 +32,7 @@ def error404(request):
                   })
 
 
-def error403(request):
+def error403(request, exception):
     return render(request, 'django_airavata/error_page.html', status=403,
                   context={
                       'title': 'Permission Denied',
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 229feeb..fde432f 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -5,5 +5,6 @@ flake8-isort==4.0.0
 isort==5.2.2
 mkdocs==1.0.4
 Markdown==3.2.1
+tox==3.20.0
 
 -e ".[dev]"
diff --git a/requirements.txt b/requirements.txt
index 2cca85b..58141d2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
 # Pin these dependencies
-Django==1.11.29
+Django>=2.2,<2.3
 requests==2.13.0
 requests-oauthlib==0.7.0
 thrift==0.10.0
@@ -7,7 +7,7 @@ thrift_connector==0.24
 djangorestframework==3.8.2
 django-webpack-loader==0.6.0
 
-wagtail==2.0
+wagtail>=2.7,<2.8
 wagtailfontawesome==1.1.3
 
 jupyter==1.0.0
diff --git a/setup.cfg b/setup.cfg
index a28419b..f157058 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,7 +4,8 @@ exclude =
     ./airavata,
     node_modules,
     settings_local.py,
-    */migrations
+    */migrations,
+    .tox
 ignore = E501
 
 [isort]
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..bd83326
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,14 @@
+# tox (https://tox.readthedocs.io/) is a tool for running tests
+# in multiple virtualenvs. This configuration file will run the
+# test suite on all supported python versions. To use it, "pip install tox"
+# and then run "tox" from this directory.
+
+[tox]
+envlist = py36, py37, py38
+
+[testenv]
+deps =
+    py{3,36,37,38}: -rrequirements-dev.txt
+
+commands =
+    ./runtests.py


[airavata-django-portal] 04/08: AIRAVATA-3376 Fix decoding JSON bytestring

Posted by ma...@apache.org.
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

commit d0ac943aec26d51f552a2e1cd0a24a5fd41eca5e
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 15:27:37 2020 -0500

    AIRAVATA-3376 Fix decoding JSON bytestring
---
 django_airavata/apps/workspace/views.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/django_airavata/apps/workspace/views.py b/django_airavata/apps/workspace/views.py
index 4e11c5e..b29103b 100644
--- a/django_airavata/apps/workspace/views.py
+++ b/django_airavata/apps/workspace/views.py
@@ -27,7 +27,7 @@ def experiments_list(request):
     if response.status_code != 200:
         raise Exception("Failed to load experiments list: {}".format(
             response.data['detail']))
-    experiments_json = JSONRenderer().render(response.data)
+    experiments_json = JSONRenderer().render(response.data).decode('utf-8')
     return render(request, 'django_airavata_workspace/experiments_list.html', {
         'bundle_name': 'experiment-list',
         'experiments_data': experiments_json
@@ -51,7 +51,7 @@ def projects_list(request):
     if response.status_code != 200:
         raise Exception("Failed to load projects list: {}".format(
             response.data['detail']))
-    projects_json = JSONRenderer().render(response.data)
+    projects_json = JSONRenderer().render(response.data).decode('utf-8')
 
     return render(request, 'django_airavata_workspace/projects_list.html', {
         'bundle_name': 'project-list',
@@ -138,7 +138,7 @@ def view_experiment(request, experiment_id):
     if response.status_code != 200:
         raise Exception("Failed to load experiment data: {}".format(
             response.data['detail']))
-    full_experiment_json = JSONRenderer().render(response.data)
+    full_experiment_json = JSONRenderer().render(response.data).decode('utf-8')
 
     return render(request, 'django_airavata_workspace/view_experiment.html', {
         'bundle_name': 'view-experiment',


[airavata-django-portal] 05/08: AIRAVATA-3376 Update DRF to 3.10.3 and fix deprecation warnings

Posted by ma...@apache.org.
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

commit 726a366bd3401059acdbc9cb2a75ce1397de6cc0
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 15:39:53 2020 -0500

    AIRAVATA-3376 Update DRF to 3.10.3 and fix deprecation warnings
---
 django_airavata/apps/api/urls.py | 40 ++++++++++++++++++++--------------------
 requirements.txt                 |  2 +-
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/django_airavata/apps/api/urls.py b/django_airavata/apps/api/urls.py
index d2a67c3..0a602ab 100644
--- a/django_airavata/apps/api/urls.py
+++ b/django_airavata/apps/api/urls.py
@@ -8,45 +8,45 @@ from . import views
 logger = logging.getLogger(__name__)
 
 router = routers.DefaultRouter()
-router.register(r'projects', views.ProjectViewSet, base_name='project')
+router.register(r'projects', views.ProjectViewSet, basename='project')
 router.register(r'experiments', views.ExperimentViewSet,
-                base_name='experiment')
+                basename='experiment')
 router.register(r'full-experiments', views.FullExperimentViewSet,
-                base_name='full-experiment')
+                basename='full-experiment')
 router.register(r'experiment-search', views.ExperimentSearchViewSet,
-                base_name='experiment-search')
-router.register(r'groups', views.GroupViewSet, base_name='group')
+                basename='experiment-search')
+router.register(r'groups', views.GroupViewSet, basename='group')
 router.register(r'application-interfaces', views.ApplicationInterfaceViewSet,
-                base_name='application-interface')
+                basename='application-interface')
 router.register(r'applications', views.ApplicationModuleViewSet,
-                base_name='application')
+                basename='application')
 router.register(r'application-deployments', views.ApplicationDeploymentViewSet,
-                base_name='application-deployment')
+                basename='application-deployment')
 router.register(r'user-profiles', views.UserProfileViewSet,
-                base_name='user-profile')
+                basename='user-profile')
 router.register(r'group-resource-profiles', views.GroupResourceProfileViewSet,
-                base_name='group-resource-profile')
+                basename='group-resource-profile')
 router.register(r'shared-entities', views.SharedEntityViewSet,
-                base_name='shared-entity')
+                basename='shared-entity')
 router.register(r'compute-resources', views.ComputeResourceViewSet,
-                base_name='compute-resource')
+                basename='compute-resource')
 router.register(r'storage-resources', views.StorageResourceViewSet,
-                base_name='storage-resource')
+                basename='storage-resource')
 router.register(r'credential-summaries', views.CredentialSummaryViewSet,
-                base_name='credential-summary')
+                basename='credential-summary')
 router.register(r'gateway-resource-profiles',
                 views.GatewayResourceProfileViewSet,
-                base_name='gateway-resource-profile')
+                basename='gateway-resource-profile')
 router.register(r'storage-preferences',
                 views.StoragePreferenceViewSet,
-                base_name='storage-preference')
-router.register(r'parsers', views.ParserViewSet, base_name='parser')
+                basename='storage-preference')
+router.register(r'parsers', views.ParserViewSet, basename='parser')
 router.register(r'manage-notifications', views.ManageNotificationViewSet,
-                base_name='manage-notifications')
+                basename='manage-notifications')
 router.register(r'iam-user-profiles', views.IAMUserViewSet,
-                base_name='iam-user-profile')
+                basename='iam-user-profile')
 router.register(r'unverified-email-users', views.UnverifiedEmailUserViewSet,
-                base_name='unverified-email-user-profile')
+                basename='unverified-email-user-profile')
 
 app_name = 'django_airavata_api'
 urlpatterns = [
diff --git a/requirements.txt b/requirements.txt
index 58141d2..8bef54e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@ requests==2.13.0
 requests-oauthlib==0.7.0
 thrift==0.10.0
 thrift_connector==0.24
-djangorestframework==3.8.2
+djangorestframework==3.10.3
 django-webpack-loader==0.6.0
 
 wagtail>=2.7,<2.8


[airavata-django-portal] 02/08: Merge branch 'develop' into AIRAVATA-3376

Posted by ma...@apache.org.
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

commit 655475dd5c667c0bef69ec2077ec72dc246e2bd5
Merge: d8c01b6 63d144f
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 11:24:48 2020 -0500

    Merge branch 'develop' into AIRAVATA-3376

 Dockerfile                                         |   5 +-
 README.md                                          |   4 +-
 django_airavata/apps/admin/yarn.lock               |   5 +
 django_airavata/apps/api/authentication.py         |  26 +++
 django_airavata/apps/api/serializers.py            |  60 ++++--
 django_airavata/apps/api/view_utils.py             |   9 +-
 django_airavata/apps/api/views.py                  | 146 +++++++++------
 django_airavata/apps/auth/backends.py              |  47 ++++-
 django_airavata/apps/auth/utils.py                 |  31 +++-
 django_airavata/apps/auth/views.py                 |   4 +
 .../ComputationalResourceSchedulingEditor.vue      |   3 +-
 django_airavata/apps/workspace/views.py            |   7 -
 django_airavata/middleware.py                      |  28 ++-
 django_airavata/settings.py                        |   1 +
 docs/assets/cms_default_theme.pdf                  | Bin 0 -> 5036749 bytes
 docs/dev/custom_django_app.md                      |   2 +-
 docs/dev/custom_output_view_provider.md            |  42 ++++-
 docs/tutorial/data/npentane12diol.inp              |   2 +-
 ...teways2019_tutorial.md => gateways_tutorial.md} | 202 ++++++++++-----------
 mkdocs.yml                                         |   3 +-
 setup.py                                           |   3 +-
 21 files changed, 398 insertions(+), 232 deletions(-)



[airavata-django-portal] 06/08: AIRAVATA-3376 Upgrading wagtailfontawesome to fix deprecation warning

Posted by ma...@apache.org.
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

commit 624593bddcc592e2c9d9c41af13d9ab36bd67ffa
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 15:56:21 2020 -0500

    AIRAVATA-3376 Upgrading wagtailfontawesome to fix deprecation warning
---
 requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.txt b/requirements.txt
index 8bef54e..1d50ed9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,7 +8,7 @@ djangorestframework==3.10.3
 django-webpack-loader==0.6.0
 
 wagtail>=2.7,<2.8
-wagtailfontawesome==1.1.3
+wagtailfontawesome==1.2.1
 
 jupyter==1.0.0
 papermill==1.0.1


[airavata-django-portal] 08/08: AIRAVATA-3376 Updating Python versions note

Posted by ma...@apache.org.
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

commit 2befa79168edae6cdd5bed8be7feb24f93b5ff61
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 3 16:22:35 2020 -0500

    AIRAVATA-3376 Updating Python versions note
---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 1e4f0b8..580a506 100644
--- a/README.md
+++ b/README.md
@@ -16,8 +16,8 @@ Django Portal locally. This will allow you to try it out and can also be used as
 a development environment. If you just want to run the Airavata Django Portal
 locally, see the Docker instructions below for a more simplified approach.
 
-The Airavata Django Portal is developed with Python 3.8 but should also work
-with 3.6 and 3.7. You'll need one of these versions installed locally.
+The Airavata Django Portal works with Python versions 3.6, 3.7 and 3.8. You'll
+need one of these versions installed locally.
 
 You'll also need Node.js and yarn to build the JavaScript frontend code. Please
 install