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 dee1f6fe08acc4ea0c67bb0002673efd371343c2 Author: Marcus Christie <[email protected]> AuthorDate: Fri Jul 26 11:14:38 2019 -0400 AIRAVATA-3177 Only allow admins to see Data Parsers --- django_airavata/apps/dataparsers/apps.py | 3 +++ django_airavata/context_processors.py | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/django_airavata/apps/dataparsers/apps.py b/django_airavata/apps/dataparsers/apps.py index 834e2ec..836b34e 100644 --- a/django_airavata/apps/dataparsers/apps.py +++ b/django_airavata/apps/dataparsers/apps.py @@ -19,3 +19,6 @@ class DataParsersConfig(AiravataAppConfig): 'url': 'django_airavata_dataparsers:home', }, ] + + def enabled(self, request): + return getattr(request, 'is_gateway_admin', False) diff --git a/django_airavata/context_processors.py b/django_airavata/context_processors.py index 4d5f16a..1398e28 100644 --- a/django_airavata/context_processors.py +++ b/django_airavata/context_processors.py @@ -77,6 +77,9 @@ def airavata_app_registry(request): """Put airavata django apps into the context.""" airavata_apps = [app for app in apps.get_app_configs() if isinstance(app, AiravataAppConfig) and + (getattr(app, 'enabled', None) is None or + app.enabled(request) + ) and app.label not in settings.HIDDEN_AIRAVATA_APPS] # Sort by app_order then by verbose_name (case-insensitive) airavata_apps.sort( @@ -95,6 +98,10 @@ def airavata_app_registry(request): def custom_app_registry(request): """Put custom Django apps into the context.""" custom_apps = settings.CUSTOM_DJANGO_APPS.copy() + custom_apps = [app for app in custom_apps + if (getattr(app, 'enabled', None) is None or + app.enabled(request) + )] custom_apps.sort(key=lambda app: app.verbose_name.lower()) current_custom_app = _get_current_app(request, custom_apps) return {
