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
}

View File

@@ -0,0 +1,6 @@
{
"installed-apps": [
"djangocms_file"
],
"package-name": "djangocms-file"
}

View File

@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
from aldryn_client import forms
def split_and_strip(string):
return [item.strip() for item in string.split(',') if item]
class Form(forms.BaseForm):
templates = forms.CharField(
'List of additional templates (comma separated)',
required=False,
)
def clean(self):
data = super(Form, self).clean()
# prettify
data['templates'] = ', '.join(split_and_strip(data['templates']))
return data
def to_settings(self, data, settings):
if data['templates']:
settings['DJANGOCMS_FILE_TEMPLATES'] = [
(item, item)
for item in split_and_strip(data['templates'])
]
return settings

View File

@@ -0,0 +1,3 @@
{
"templates": null
}

View File

@@ -0,0 +1,6 @@
{
"installed-apps": [
"djangocms_googlemap"
],
"package-name": "djangocms-googlemap"
}

View File

@@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
from aldryn_client import forms
def split_and_strip(string):
return [item.strip() for item in string.split(',') if item]
class Form(forms.BaseForm):
templates = forms.CharField(
'List of additional templates (comma separated)',
required=False,
)
api_key = forms.CharField(
'You need to provide a valid Google Maps API key '
'https://developers.google.com/maps/documentation/javascript/get-api-key',
required=True,
)
def clean(self):
data = super(Form, self).clean()
# prettify
data['templates'] = ', '.join(split_and_strip(data['templates']))
return data
def to_settings(self, data, settings):
if data['templates']:
settings['DJANGOCMS_GOOGLEMAP_TEMPLATES'] = [
(item, item)
for item in split_and_strip(data['templates'])
]
if data['api_key']:
settings['DJANGOCMS_GOOGLEMAP_API_KEY'] = data['api_key']
return settings

View File

@@ -0,0 +1,4 @@
{
"api_key": null,
"templates": null
}

View File

@@ -1,3 +1,3 @@
{
"templates": null
"templates": ""
}

View File

@@ -1,6 +1,6 @@
{
"alignment": null,
"alignment": "",
"nesting": false,
"ratio": null,
"templates": null
"ratio": "",
"templates": ""
}

View File

@@ -0,0 +1,6 @@
{
"installed-apps": [
"djangocms_snippet"
],
"package-name": "djangocms-snippet"
}

View File

@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
from aldryn_client import forms
class Form(forms.BaseForm):
editor_theme = forms.CharField(
'Custom editor theme, (e.g. "twilight", default: "github")',
required=False,
)
editor_mode = forms.CharField(
'Custom editor mode (e.g. "javascript", default: "html")',
required=False,
)
enable_search = forms.CheckboxField(
'Enable snippet content to be searchable.',
required=False,
initial=False,
)
def to_settings(self, data, settings):
if data['editor_theme']:
settings['DJANGOCMS_SNIPPET_THEME'] = data['editor_theme']
if data['editor_mode']:
settings['DJANGOCMS_SNIPPET_MODE'] = data['editor_mode']
if data['enable_search']:
settings['DJANGOCMS_SNIPPET_SEARCH'] = data['enable_search']
return settings

View File

@@ -0,0 +1,5 @@
{
"editor_mode": null,
"editor_theme": null,
"enable_search": false
}

View File

@@ -0,0 +1,6 @@
{
"installed-apps": [
"djangocms_style"
],
"package-name": "djangocms-style"
}

View File

@@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
from aldryn_client import forms
def split_and_strip(string):
return [item.strip() for item in string.split(',') if item]
class Form(forms.BaseForm):
templates = forms.CharField(
'List of additional templates (comma separated)',
required=False,
)
class_names = forms.CharField(
'List of classes (comma separated)',
required=False,
)
tag_types = forms.CharField(
'List of HTML tags (comma separated)',
required=False,
)
def clean(self):
data = super(Form, self).clean()
# prettify
data['templates'] = ', '.join(split_and_strip(data['templates']))
data['class_names'] = ', '.join(split_and_strip(data['class_names']))
data['tag_types'] = ', '.join(split_and_strip(data['tag_types']))
return data
def to_settings(self, data, settings):
if data['templates']:
settings['DJANGOCMS_STYLE_TEMPLATES'] = [
(item, item)
for item in split_and_strip(data['templates'])
]
if data['class_names']:
settings['DJANGOCMS_STYLE_CHOICES'] = split_and_strip(data['class_names'])
if data['tag_types']:
settings['DJANGOCMS_STYLE_TAGS'] = split_and_strip(data['tag_types'])
return settings

View File

@@ -0,0 +1,5 @@
{
"class_names": null,
"tag_types": null,
"templates": null
}

View File

@@ -1,4 +1,4 @@
{
"content_css": null,
"style_set": null
"content_css": "",
"style_set": ""
}

View File

@@ -0,0 +1,6 @@
{
"installed-apps": [
"djangocms_video"
],
"package-name": "djangocms-video"
}

View File

@@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
from aldryn_client import forms
def split_and_strip(string):
return [item.strip() for item in string.split(',') if item]
class Form(forms.BaseForm):
templates = forms.CharField(
'List of additional templates (comma separated)',
required=False,
)
extensions = forms.CharField(
'List of allowed extensions, default "mp4, webm, ogv" when empty (comma separated)',
required=False,
)
def clean(self):
data = super(Form, self).clean()
# older versions of this addon had a bug where the values would be
# saved to settings.json as a list instead of a string.
if isinstance(data['templates'], list):
data['templates'] = ', '.join(data['templates'])
if isinstance(data['extensions'], list):
data['extensions'] = ', '.join(data['extensions'])
# prettify
data['templates'] = ', '.join(split_and_strip(data['templates']))
data['extensions'] = ', '.join(split_and_strip(data['extensions']))
return data
def to_settings(self, data, settings):
if data['templates']:
settings['DJANGOCMS_VIDEO_TEMPLATES'] = [
(item, item)
for item in split_and_strip(data['templates'])
]
if data['extensions']:
settings['DJANGOCMS_VIDEO_ALLOWED_EXTENSIONS'] = split_and_strip(data['extensions'])
return settings

View File

@@ -0,0 +1,4 @@
{
"extensions": null,
"templates": null
}