From a6cad8f9e51cd76229282ed72cf95f26a7f545d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 11 Aug 2017 13:55:39 +0200 Subject: [PATCH] debian: don't configure multitenant stuff for wcs (#17967) --- debian/debian_config_common.py | 142 ++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 67 deletions(-) diff --git a/debian/debian_config_common.py b/debian/debian_config_common.py index 1ddcd7f..5eb0d96 100644 --- a/debian/debian_config_common.py +++ b/debian/debian_config_common.py @@ -158,9 +158,10 @@ STATIC_ROOT = os.path.join(VAR_DIR, 'collectstatic') # template settings if 'TEMPLATE_DEBUG' in globals(): # compatibility with django<1.10 - TEMPLATE_LOADERS = ( - 'hobo.multitenant.template_loader.FilesystemLoader', - ) + global_settings.TEMPLATE_LOADERS + if PROJECT_NAME != 'wcs': + TEMPLATE_LOADERS = ( + 'hobo.multitenant.template_loader.FilesystemLoader', + ) + global_settings.TEMPLATE_LOADERS if not 'TEMPLATE_CONTEXT_PROCESSORS' in globals(): TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS @@ -181,8 +182,9 @@ else: TEMPLATES[0]['OPTIONS']['loaders'] = [ 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader'] - TEMPLATES[0]['OPTIONS']['loaders'].insert(0, - 'hobo.multitenant.template_loader.FilesystemLoader') + if PROJECT_NAME != 'wcs': + TEMPLATES[0]['OPTIONS']['loaders'].insert(0, + 'hobo.multitenant.template_loader.FilesystemLoader') if not 'django.core.context_processors.request' in TEMPLATES[0]['OPTIONS']['context_processors']: TEMPLATES[0]['OPTIONS']['context_processors'].insert(0, @@ -202,99 +204,105 @@ SESSION_COOKIE_SECURE = True SESSION_EXPIRE_AT_BROWSER_CLOSE = True SESSION_COOKIE_AGE = 36000 # 10h -# -# multitenant adaptations -# - -TENANT_BASE = os.path.join(VAR_DIR, 'tenants') -TENANT_MODEL = 'multitenant.Tenant' - -DATABASES = { - 'default': { - 'ENGINE': 'tenant_schemas.postgresql_backend', - 'NAME': PROJECT_NAME.replace('-', '_'), - } -} - -DATABASE_ROUTERS = ( - 'tenant_schemas.routers.TenantSyncRouter', -) - if not 'MIDDLEWARE_CLASSES' in globals(): MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES -MIDDLEWARE_CLASSES = ( - 'hobo.middleware.utils.StoreRequestMiddleware', - 'hobo.middleware.xforwardedfor.XForwardedForMiddleware', - 'hobo.multitenant.middleware.TenantMiddleware', +MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ( 'hobo.middleware.VersionMiddleware', # /__version__ 'hobo.middleware.cors.CORSMiddleware', ) + MIDDLEWARE_CLASSES -if 'authentic2' not in INSTALLED_APPS: +if 'mellon' in INSTALLED_APPS: MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ( 'mellon.middleware.PassiveAuthenticationMiddleware', ) -else: + +if 'authentic2' in INSTALLED_APPS: MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ( 'hobo.agent.authentic2.middleware.ProvisionningMiddleware', ) -TENANT_SETTINGS_LOADERS = ( - 'hobo.multitenant.settings_loaders.TemplateVars', - 'hobo.multitenant.settings_loaders.KnownServices', - 'hobo.multitenant.settings_loaders.CORSSettings', - 'hobo.multitenant.settings_loaders.SharedThemeSettings', - 'hobo.multitenant.settings_loaders.Mellon', - 'hobo.multitenant.settings_loaders.SiteBaseUrl', - 'hobo.multitenant.settings_loaders.SettingsJSON', -) +if PROJECT_NAME != 'wcs': + # multitenant adaptations -# templates in /templates -TENANT_TEMPLATE_DIRS = (TENANT_BASE,) + TENANT_BASE = os.path.join(VAR_DIR, 'tenants') + TENANT_MODEL = 'multitenant.Tenant' -# /media in /media -DEFAULT_FILE_STORAGE = 'hobo.multitenant.storage.TenantFileSystemStorage' + MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ( + 'hobo.multitenant.middleware.TenantMiddleware', + ) + MIDDLEWARE_CLASSES -# SAML2: search IdP in -if 'authentic2' not in INSTALLED_APPS: - MELLON_ADAPTER = ('hobo.multitenant.mellon.MellonAdapter',) - MELLON_DEFAULT_ASSERTION_CONSUMER_BINDING = 'artifact' - MELLON_OPENED_SESSION_COOKIE_NAME = 'A2_OPENED_SESSION' + DATABASES = { + 'default': { + 'ENGINE': 'tenant_schemas.postgresql_backend', + 'NAME': PROJECT_NAME.replace('-', '_'), + } + } -# Authentic2 role attributes for Publik -A2_MANAGER_ROLE_FORM_CLASS = 'hobo.agent.authentic2.role_forms.RoleForm' + DATABASE_ROUTERS = ( + 'tenant_schemas.routers.TenantSyncRouter', + ) + + TENANT_SETTINGS_LOADERS = ( + 'hobo.multitenant.settings_loaders.TemplateVars', + 'hobo.multitenant.settings_loaders.KnownServices', + 'hobo.multitenant.settings_loaders.CORSSettings', + 'hobo.multitenant.settings_loaders.SharedThemeSettings', + 'hobo.multitenant.settings_loaders.Mellon', + 'hobo.multitenant.settings_loaders.SiteBaseUrl', + 'hobo.multitenant.settings_loaders.SettingsJSON', + ) -# cache by tenant -CACHES = { - 'default': { - 'BACKEND': 'hobo.multitenant.cache.TenantCache', - # add a real Django cache backend, with its parameters if needed - 'REAL_BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', - 'LOCATION': '127.0.0.1:11211', + # templates in /templates + TENANT_TEMPLATE_DIRS = (TENANT_BASE,) + + # /media in /media + DEFAULT_FILE_STORAGE = 'hobo.multitenant.storage.TenantFileSystemStorage' + + # SAML2: search IdP in + if 'authentic2' not in INSTALLED_APPS: + MELLON_ADAPTER = ('hobo.multitenant.mellon.MellonAdapter',) + MELLON_DEFAULT_ASSERTION_CONSUMER_BINDING = 'artifact' + MELLON_OPENED_SESSION_COOKIE_NAME = 'A2_OPENED_SESSION' + + # cache by tenant + CACHES = { + 'default': { + 'BACKEND': 'hobo.multitenant.cache.TenantCache', + # add a real Django cache backend, with its parameters if needed + 'REAL_BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'LOCATION': '127.0.0.1:11211', + } } -} -# haystack by tenant -HAYSTACK_CONNECTIONS = { - 'default': { - 'ENGINE': 'hobo.multitenant.haystack.WhooshEngine', + # haystack by tenant + HAYSTACK_CONNECTIONS = { + 'default': { + 'ENGINE': 'hobo.multitenant.haystack.WhooshEngine', + } } -} + # multitenant SHARED_APPS/TENANT_APPS/INSTALLED_APPS organization + SHARED_APPS = () -# multitenant SHARED_APPS/TENANT_APPS/INSTALLED_APPS organization -SHARED_APPS = () + INSTALLED_APPS = ('hobo.agent.common',) + INSTALLED_APPS -INSTALLED_APPS = ('hobo.agent.common',) + INSTALLED_APPS + TENANT_APPS = INSTALLED_APPS -TENANT_APPS = INSTALLED_APPS + INSTALLED_APPS = ('hobo.multitenant',) + INSTALLED_APPS -INSTALLED_APPS = ('hobo.multitenant',) + INSTALLED_APPS + +MIDDLEWARE_CLASSES = ( + 'hobo.middleware.utils.StoreRequestMiddleware', + 'hobo.middleware.xforwardedfor.XForwardedForMiddleware', +) + MIDDLEWARE_CLASSES HOBO_MANAGER_HOMEPAGE_URL_VAR = 'portal_agent_url' HOBO_MANAGER_HOMEPAGE_TITLE_VAR = 'portal_agent_title' +# Authentic2 role attributes for Publik +A2_MANAGER_ROLE_FORM_CLASS = 'hobo.agent.authentic2.role_forms.RoleForm' + # Locale and timezone LANGUAGE_CODE = 'fr-fr' TIME_ZONE = 'Europe/Paris' -- 2.14.1