migrations
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"disable_default_language_prefix": false,
|
||||
"enable_gis": false,
|
||||
"languages": "[\"en\"]",
|
||||
"session_timeout": 1209600,
|
||||
"languages": "[\"de\", \"en\"]",
|
||||
"use_manifeststaticfilesstorage": false
|
||||
}
|
||||
Reference in New Issue
Block a user