migrations

This commit is contained in:
2018-03-15 12:42:13 +01:00
parent 29e19deebc
commit 25001e38c9
419 changed files with 44849 additions and 2142 deletions

View File

@@ -80,17 +80,8 @@ class Form(forms.BaseForm):
'for Django versions prior to 1.10.'
)
)
session_timeout = forms.NumberField(
'Timeout for users session, in seconds.',
required=False,
initial=(60 * 60 * 24 * 7 * 2),
help_text=(
'By default it\'s two weeks (Django default).'
),
)
def to_settings(self, data, settings):
import django_cache_url
import dj_database_url
import warnings
from functools import partial
@@ -126,8 +117,6 @@ class Form(forms.BaseForm):
),
RuntimeWarning,
)
settings['DATABASES']['default'] = dj_database_url.parse(settings['DATABASE_URL'])
if not settings['CACHE_URL']:
settings['CACHE_URL'] = 'locmem://'
warnings.warn(
@@ -136,7 +125,8 @@ class Form(forms.BaseForm):
),
RuntimeWarning,
)
settings['CACHES']['default'] = django_cache_url.parse(settings['CACHE_URL'])
settings['DATABASES']['default'] = dj_database_url.parse(settings['DATABASE_URL'])
settings['ROOT_URLCONF'] = env('ROOT_URLCONF', 'urls')
settings['ADDON_URLS'].append('aldryn_django.urls')
@@ -215,6 +205,7 @@ class Form(forms.BaseForm):
self.logging_settings(settings, env=env)
# Order matters, sentry settings rely on logging being configured.
self.sentry_settings(settings, env=env)
self.cache_settings(settings, env=env)
self.storage_settings_for_media(settings, env=env)
self.storage_settings_for_static(data, settings, env=env)
self.email_settings(data, settings, env=env)
@@ -226,8 +217,6 @@ class Form(forms.BaseForm):
return settings
def domain_settings(self, data, settings, env):
from aldryn_addons.utils import boolean_ish
settings['ALLOWED_HOSTS'] = env('ALLOWED_HOSTS', ['localhost', '*'])
# will take a full config dict from ALDRYN_SITES_DOMAINS if available,
# otherwise fall back to constructing the dict from DOMAIN,
@@ -237,8 +226,6 @@ class Form(forms.BaseForm):
settings['DOMAIN'] = domain
domains = env('ALDRYN_SITES_DOMAINS', {})
permanent_redirect = boolean_ish(env('ALDRYN_SITES_REDIRECT_PERMANENT', False))
if not domains and domain:
domain_aliases = [
d.strip()
@@ -259,7 +246,6 @@ class Form(forms.BaseForm):
},
}
settings['ALDRYN_SITES_DOMAINS'] = domains
settings['ALDRYN_SITES_REDIRECT_PERMANENT'] = permanent_redirect
# This is ensured again by aldryn-sites, but we already do it here
# as we need the full list of domains later when configuring
@@ -289,8 +275,6 @@ class Form(forms.BaseForm):
'SECURE_PROXY_SSL_HEADER',
('HTTP_X_FORWARDED_PROTO', 'https')
)
s['SESSION_COOKIE_AGE'] = env('SESSION_COOKIE_AGE', data.get('session_timeout') or 60 * 60 * 24 * 7 * 2)
# SESSION_COOKIE_HTTPONLY and SECURE_FRAME_DENY must be False for CMS
# SESSION_COOKIE_HTTPONLY is handled by
# django.contrib.sessions.middleware.SessionMiddleware
@@ -371,7 +355,7 @@ class Form(forms.BaseForm):
'stream': sys.stdout,
},
'null': {
'class': 'django.utils.log.NullHandler',
'class': 'logging.NullHandler',
},
},
'loggers': {
@@ -409,6 +393,12 @@ class Form(forms.BaseForm):
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
}
def cache_settings(self, settings, env):
import django_cache_url
cache_url = env('CACHE_URL')
if cache_url:
settings['CACHES']['default'] = django_cache_url.parse(cache_url)
def storage_settings_for_media(self, settings, env):
import yurl
from aldryn_django.storage import parse_storage_url
@@ -505,44 +495,21 @@ class Form(forms.BaseForm):
settings['SERVER_EMAIL'] = server_email
def i18n_settings(self, data, settings, env):
from django.utils.translation import ugettext_lazy
settings['ALL_LANGUAGES'] = [
(code, ugettext_lazy(name))
for code, name in settings['LANGUAGES']
]
settings['ALL_LANGUAGES'] = list(settings['LANGUAGES'])
settings['ALL_LANGUAGES_DICT'] = dict(settings['ALL_LANGUAGES'])
languages = [
(code, settings['ALL_LANGUAGES_DICT'][code])
for code in json.loads(data['languages'])
]
settings['LANGUAGE_CODE'] = languages[0][0]
settings['USE_L10N'] = True
settings['USE_I18N'] = True
def language_codes_to_tuple(codes):
return [
(code, settings['ALL_LANGUAGES_DICT'][code])
for code in codes
]
langs_from_env = env('LANGUAGES', None)
lang_codes_from_env = env('LANGUAGE_CODES', None)
langs_from_form = json.loads(data['languages'])
if langs_from_env:
settings['LANGUAGES'] = langs_from_env
elif lang_codes_from_env:
settings['LANGUAGES'] = language_codes_to_tuple(lang_codes_from_env)
else:
settings['LANGUAGES'] = language_codes_to_tuple(langs_from_form)
lang_code_from_env = env('LANGUAGE_CODE', None)
if lang_code_from_env:
settings['LANGUAGE_CODE'] = lang_code_from_env
else:
settings['LANGUAGE_CODE'] = settings['LANGUAGES'][0][0]
settings['LANGUAGES'] = languages
settings['LOCALE_PATHS'] = [
os.path.join(settings['BASE_DIR'], 'locale'),
]
if len(settings['LANGUAGES']) <= 1:
if len(languages) <= 1:
settings['PREFIX_DEFAULT_LANGUAGE'] = not data['disable_default_language_prefix']
else:
# this is not supported for django versions < 1.10

View File

@@ -1,7 +1,6 @@
{
"disable_default_language_prefix": false,
"enable_gis": false,
"languages": "[\"en\"]",
"session_timeout": 1209600,
"languages": "[\"de\", \"en\"]",
"use_manifeststaticfilesstorage": false
}