common_settings.py 33.4 KB
Newer Older
Patrick Colmant's avatar
Patrick Colmant committed
1
# -*- coding: utf-8 -*-
Patrick's avatar
Patrick committed
2 3 4
import ConfigParser
import codecs
import logging
Patrick's avatar
Patrick committed
5 6 7 8 9

from django.utils.translation import get_language_info
from django.utils.translation import ugettext_lazy as _

from repanier.const import *
Patrick Colmant's avatar
Patrick Colmant committed
10 11
from settings import *

Patrick Colmant's avatar
Patrick Colmant committed
12
import os
Patrick's avatar
Patrick committed
13

Patrick Colmant's avatar
Patrick Colmant committed
14
gettext = lambda s: s
Patrick's avatar
Patrick committed
15

Patrick's avatar
Patrick committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

def get_allowed_mail_extension():
    allowed_mail_extension = "@%s" % DJANGO_SETTINGS_ALLOWED_HOSTS[0]
    cut_index = len(DJANGO_SETTINGS_ALLOWED_HOSTS[0]) - 1
    point_counter = 0
    while cut_index >= 0:
        if DJANGO_SETTINGS_ALLOWED_HOSTS[0][cut_index] == ".":
            point_counter += 1
            if point_counter == 2:
                allowed_mail_extension = "@%s" % DJANGO_SETTINGS_ALLOWED_HOSTS[0][cut_index + 1:]
                break
        cut_index -= 1
    if allowed_mail_extension.endswith("local"):
        allowed_mail_extension = "@repanier.be"
    return allowed_mail_extension

Patrick's avatar
Patrick committed
32 33
# os.path.realpath resolves symlinks and os.path.abspath doesn't.
PROJECT_PATH = os.path.split(os.path.realpath(os.path.dirname(__file__)))[0]
Patrick Colmant's avatar
Patrick Colmant committed
34
PROJECT_DIR = os.path.realpath(os.path.dirname(__file__))
Patrick's avatar
Patrick committed
35 36
os.sys.path.insert(0, PROJECT_PATH)
MEDIA_ROOT = os.path.join(PROJECT_DIR, "media", "public")
Patrick's avatar
Patrick committed
37
MEDIA_URL = "%s%s%s" % (os.sep, "media", os.sep)
Patrick's avatar
Patrick committed
38
STATIC_ROOT = os.path.join(PROJECT_DIR, "collect-static")
39

Patrick's avatar
Patrick committed
40 41 42 43
# STATICFILES_DIRS = (
#     os.path.join(PROJECT_PATH, "repanier", "static"),
# )

Patrick's avatar
Patrick committed
44
DJANGO_SETTINGS_SITE_NAME = os.path.split(PROJECT_DIR)[-1]
Patrick's avatar
Patrick committed
45
config = ConfigParser.RawConfigParser(allow_no_value=True)
Patrick's avatar
Patrick committed
46
conf_file_name = '%s%s%s.ini' % (
Patrick's avatar
Patrick committed
47
            PROJECT_DIR,
Patrick's avatar
Patrick committed
48 49
            os.sep,
            DJANGO_SETTINGS_SITE_NAME
Patrick's avatar
Patrick committed
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
)
try:
    # Open the file with the correct encoding
    with codecs.open(conf_file_name, 'r', encoding='utf-8') as f:
        config.readfp(f)
    DJANGO_SETTINGS_ADMIN_EMAIL = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_ADMIN_EMAIL')
    DJANGO_SETTINGS_ADMIN_NAME = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_ADMIN_NAME')
    DJANGO_SETTINGS_DATABASE_HOST = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DATABASE_HOST')
    DJANGO_SETTINGS_DATABASE_NAME = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DATABASE_NAME')
    DJANGO_SETTINGS_DATABASE_PASSWORD = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DATABASE_PASSWORD')
    DJANGO_SETTINGS_DATABASE_PORT = config.getint('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DATABASE_PORT')
    DJANGO_SETTINGS_DATABASE_USER = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DATABASE_USER')
    DJANGO_SETTINGS_DEBUG = config.getboolean('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DEBUG')
    DJANGO_SETTINGS_DEMO = config.getboolean('DJANGO_SETTINGS', 'DJANGO_SETTINGS_DEMO')
    DJANGO_SETTINGS_EMAIL_HOST = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_HOST')
    DJANGO_SETTINGS_EMAIL_HOST_PASSWORD = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_HOST_PASSWORD')
    DJANGO_SETTINGS_EMAIL_HOST_USER = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_HOST_USER')
    DJANGO_SETTINGS_EMAIL_PORT = config.getint('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_PORT')
    DJANGO_SETTINGS_EMAIL_USE_SSL = config.getboolean('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_USE_TLS')
    DJANGO_SETTINGS_EMAIL_USE_TLS = config.getboolean('DJANGO_SETTINGS', 'DJANGO_SETTINGS_EMAIL_USE_TLS')
    DJANGO_SETTINGS_ENV = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_ENV')
    DJANGO_SETTINGS_LANGUAGE = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_LANGUAGE')
    DJANGO_SETTINGS_LOGGING = config.getboolean('DJANGO_SETTINGS', 'DJANGO_SETTINGS_LOGGING')
    DJANGO_SETTINGS_CACHE = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_CACHE')
    DJANGO_SETTINGS_SESSION = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_SESSION')
Patrick's avatar
Patrick committed
75
    DJANGO_SETTINGS_COUNTRY = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_COUNTRY')
76
    DJANGO_STATIC = config.get('DJANGO_SETTINGS', 'DJANGO_SETTINGS_STATIC')
Patrick's avatar
Patrick committed
77 78
    DJANGO_SETTINGS_ALLOWED_HOSTS = []
    for name in config.options('ALLOWED_HOSTS'):
Patrick's avatar
Patrick committed
79 80 81 82
        allowed_host = config.get('ALLOWED_HOSTS', name)
        if allowed_host.startswith("demo"):
            DJANGO_SETTINGS_DEMO = True
        DJANGO_SETTINGS_ALLOWED_HOSTS.append(allowed_host)
Patrick's avatar
Patrick committed
83 84 85
    logging.info("Settings loaded from %s" % (conf_file_name,))
    print ("Settings loaded from %s" % (conf_file_name,))
    print(DJANGO_SETTINGS_ALLOWED_HOSTS)
Patrick's avatar
Patrick committed
86
    DJANGO_SETTINGS_ALLOWED_MAIL_EXTENSION = get_allowed_mail_extension()
Patrick's avatar
Patrick committed
87 88 89 90
except IOError:
    logging.exception("Unable to open %s settings" % (conf_file_name,))
    print ("Unable to open %s settings" % (conf_file_name,))
    raise SystemExit(-1)
Patrick's avatar
Patrick committed
91 92
DJANGO_SETTINGS_DATE = "%d-%m-%Y"
DJANGO_SETTINGS_DATETIME = "%d-%m-%Y %H:%M"
Patrick Colmant's avatar
Patrick Colmant committed
93

94 95
# If statics file change with same file name, a path change will force a reload on the client side -> DJANGO_STA
STATIC_URL = "%s%s%s" % (os.sep, DJANGO_STATIC, os.sep)
Patrick's avatar
Patrick committed
96

Patrick's avatar
Patrick committed
97 98 99 100
###################### DEBUG
# if DJANGO_SETTINGS_DEMO:
    # No debug available in demo mode
    # DJANGO_SETTINGS_DEBUG = False
Patrick's avatar
Patrick committed
101
DEBUG = DJANGO_SETTINGS_DEBUG
Patrick Colmant's avatar
Patrick Colmant committed
102
DEBUG_PROPAGATE_EXCEPTIONS = DEBUG
Patrick's avatar
Patrick committed
103 104
TEMPLATE_DEBUG = False

Patrick's avatar
Patrick committed
105 106
ADMINS = (
    (
Patrick's avatar
Patrick committed
107 108
        DJANGO_SETTINGS_ADMIN_NAME,
        DJANGO_SETTINGS_ADMIN_EMAIL
Patrick's avatar
Patrick committed
109 110
    ),
)
Patrick's avatar
Patrick committed
111
SERVER_EMAIL = "%s%s" % (DJANGO_SETTINGS_ADMIN_NAME, DJANGO_SETTINGS_ALLOWED_MAIL_EXTENSION)
Patrick's avatar
Patrick committed
112
######################
113 114 115

DATABASES = {
    'default': {
116 117
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
Patrick's avatar
Patrick committed
118
        'NAME': DJANGO_SETTINGS_DATABASE_NAME,  # Or path to database file if using sqlite3.
119
        # The following settings are not used with sqlite3:
Patrick's avatar
Patrick committed
120 121
        'USER': DJANGO_SETTINGS_DATABASE_USER,
        'PASSWORD': DJANGO_SETTINGS_DATABASE_PASSWORD,
122
        # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
Patrick's avatar
Patrick committed
123
        'HOST': DJANGO_SETTINGS_DATABASE_HOST,
124
        # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
Patrick's avatar
Patrick committed
125
        'PORT': DJANGO_SETTINGS_DATABASE_PORT,  # Set to empty string for default.
126 127
    }
}
Patrick's avatar
Patrick committed
128 129 130 131 132 133
EMAIL_HOST = DJANGO_SETTINGS_EMAIL_HOST
EMAIL_HOST_USER = DJANGO_SETTINGS_EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = DJANGO_SETTINGS_EMAIL_HOST_PASSWORD
EMAIL_PORT = DJANGO_SETTINGS_EMAIL_PORT
EMAIL_USE_TLS = DJANGO_SETTINGS_EMAIL_USE_TLS
if EMAIL_USE_TLS:
Patrick Colmant's avatar
Patrick Colmant committed
134
    EMAIL_USE_SSL = False
Patrick's avatar
Patrick committed
135 136
else:
    EMAIL_USE_SSL =DJANGO_SETTINGS_EMAIL_USE_SSL
Patrick's avatar
Patrick committed
137 138
# if DEBUG:
#     EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
Patrick Colmant's avatar
Patrick Colmant committed
139 140 141
###################### I18N

TIME_ZONE = 'Europe/Brussels'
Patrick's avatar
Patrick committed
142 143 144 145 146 147 148
USE_TZ = True
# Before 22/02/2014 - DJANGO-CMS LANGUAGE_CODE = 'fr-BE'
USE_L10N = True
USE_THOUSAND_SEPARATOR = True
THOUSAND_SEPARATOR = '.'
NUMBER_GROUPING = 3
DECIMAL_SEPARATOR = ','
149
# 'fr-be'
Patrick Colmant's avatar
Patrick Colmant committed
150

Patrick's avatar
Patrick committed
151 152 153 154 155 156
SITE_ID = 1
ALLOWED_HOSTS = DJANGO_SETTINGS_ALLOWED_HOSTS
ROOT_URLCONF = '%s.urls' % (DJANGO_SETTINGS_SITE_NAME,)
WSGI_APPLICATION = '%s.wsgi.application' % (DJANGO_SETTINGS_SITE_NAME,)
EMAIL_SUBJECT_PREFIX = '[' + DJANGO_SETTINGS_ALLOWED_HOSTS[0] + ']'
# DEFAULT_FROM_EMAIL Used by PASSWORD RESET
Patrick's avatar
Patrick committed
157
DEFAULT_FROM_EMAIL = "no-reply%s" % DJANGO_SETTINGS_ALLOWED_MAIL_EXTENSION
Patrick Colmant's avatar
Patrick Colmant committed
158

Patrick's avatar
Patrick committed
159 160
USE_X_FORWARDED_HOST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Patrick's avatar
Patrick committed
161
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Patrick's avatar
Patrick committed
162 163 164
SESSION_COOKIE_HTTPONLY = True
SESSION_FILE_PATH = DJANGO_SETTINGS_SESSION
# SOUTH_TESTS_MIGRATE = DEBUG
Patrick Colmant's avatar
Patrick Colmant committed
165

Patrick's avatar
Patrick committed
166
##################### Django & Django CMS
Patrick Colmant's avatar
Patrick Colmant committed
167 168 169 170
LOCALE_PATHS = (
    os.path.join(PROJECT_DIR, "locale"),
)

Patrick Colmant's avatar
Patrick Colmant committed
171
INSTALLED_APPS = (
Patrick's avatar
Patrick committed
172 173
    'repanier', # ! Important : for template precedence Repanier must be first INSTALLED_APPS after django.contrib
    'djangocms_admin_style',  # note this needs to be above the 'django.contrib.admin' entry
Patrick Colmant's avatar
Patrick Colmant committed
174 175 176
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
Patrick's avatar
Patrick committed
177 178
    'django.contrib.admin',
    'django.contrib.sites',
Patrick Colmant's avatar
Patrick Colmant committed
179
    'django.contrib.sitemaps',
Patrick's avatar
Patrick committed
180 181 182
    'django.contrib.staticfiles',
    'django.contrib.messages',

Patrick Colmant's avatar
Patrick Colmant committed
183
    'djangocms_text_ckeditor',  # note this needs to be above the 'cms' entry
Patrick's avatar
Patrick committed
184 185 186 187 188 189 190
    'django_select2',
    'cmsplugin_filer_file',
    'cmsplugin_filer_folder',
    'cmsplugin_filer_link',
    'cmsplugin_filer_image',
    'cmsplugin_filer_video',
    # 'cmsplugin_filer_utils',
Patrick's avatar
Patrick committed
191
    'cmsplugin_cascade',
Patrick's avatar
Patrick committed
192
    'cmsplugin_cascade.clipboard',  # optional
Patrick's avatar
Patrick committed
193 194
    'cmsplugin_cascade.extra_fields',  # optional
    'cmsplugin_cascade.sharable',  # optional
Patrick's avatar
Patrick committed
195
    'cmsplugin_cascade.segmentation',  # optiona
Patrick Colmant's avatar
Patrick Colmant committed
196
    'cms',
Patrick's avatar
Patrick committed
197
    # 'cms_bootstrap3',
Patrick Colmant's avatar
Patrick Colmant committed
198
    'menus',
Patrick's avatar
Patrick committed
199 200
    'treebeard',
    'filer',
Patrick Colmant's avatar
Patrick Colmant committed
201
    'easy_thumbnails',
Patrick's avatar
Patrick committed
202
    'easy_thumbnails.optimize',
Patrick's avatar
Patrick committed
203
    # 'sass_processor',
Patrick's avatar
Patrick committed
204
    'sekizai',
Patrick's avatar
Patrick committed
205 206
    'mptt',
    'django_mptt_admin',
Patrick Colmant's avatar
Patrick Colmant committed
207
    'reversion',
Patrick's avatar
Patrick committed
208
    # 'aldryn_reversion',
Patrick Colmant's avatar
Patrick Colmant committed
209
    'parler',
Patrick's avatar
Patrick committed
210
    'import_export',
Patrick's avatar
Patrick committed
211 212
    'rest_framework',
    'easy_select2',
213
    'djng',
Patrick Colmant's avatar
Patrick Colmant committed
214 215
)

Patrick's avatar
Patrick committed
216 217 218
# https://docs.djangoproject.com/fr/1.9/ref/middleware/
# http://docs.django-cms.org/en/develop/how_to/caching.html

219
MIDDLEWARE = (
Patrick Colmant's avatar
Patrick Colmant committed
220
    'django.middleware.cache.UpdateCacheMiddleware',
Patrick's avatar
Patrick committed
221
    'cms.middleware.utils.ApphookReloadMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
222
    'django.contrib.sessions.middleware.SessionMiddleware',
Patrick's avatar
Patrick committed
223
    'django.middleware.csrf.CsrfViewMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
224 225 226
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
Patrick's avatar
Patrick committed
227
    'django.middleware.common.CommonMiddleware',
Patrick's avatar
Patrick committed
228
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
229
    'cms.middleware.user.CurrentUserMiddleware',
Patrick's avatar
Patrick committed
230
    'cms.middleware.page.CurrentPageMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
231
    'cms.middleware.toolbar.ToolbarMiddleware',
Patrick's avatar
Patrick committed
232
    'cms.middleware.language.LanguageCookieMiddleware',
Patrick's avatar
Cleanup  
Patrick committed
233
    'django.middleware.cache.FetchFromCacheMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
234
)
Patrick Colmant's avatar
Patrick Colmant committed
235

Patrick's avatar
Patrick committed
236 237 238 239 240 241
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
        os.path.join(PROJECT_DIR, "templates"),
    ],
Patrick's avatar
Patrick committed
242
    # 'APP_DIRS': True,
Patrick's avatar
Patrick committed
243 244 245
    'OPTIONS': {
        'context_processors': [
            'django.contrib.auth.context_processors.auth',
Patrick's avatar
Patrick committed
246
            'django.contrib.messages.context_processors.messages',
Patrick's avatar
Patrick committed
247
            'django.template.context_processors.i18n',
Patrick's avatar
Patrick committed
248 249
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
Patrick's avatar
Patrick committed
250 251
            'django.template.context_processors.media',
            'django.template.context_processors.csrf',
Patrick's avatar
Patrick committed
252
            'django.template.context_processors.tz',
Patrick's avatar
Patrick committed
253
            'sekizai.context_processors.sekizai',
Patrick's avatar
Patrick committed
254 255
            'django.template.context_processors.static',
            'cms.context_processors.cms_settings'
Patrick's avatar
Patrick committed
256
        ],
Patrick's avatar
Patrick committed
257 258 259 260 261 262
        'loaders': [
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
            'django.template.loaders.eggs.Loader'
        ],
    },
Patrick's avatar
Patrick committed
263 264
},
]
Patrick Colmant's avatar
Patrick Colmant committed
265

Patrick Colmant's avatar
Patrick Colmant committed
266
MIGRATION_MODULES = {
Patrick's avatar
Patrick committed
267 268 269
    # 'cms': 'cms.migrations_django',
    # 'menus': 'menus.migrations_django',
    # 'filer': 'filer.migrations_django',
Patrick's avatar
Patrick committed
270 271 272 273 274 275
    # 'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations_django',
    # 'cmsplugin_filer_file': 'cmsplugin_filer_file.migrations_django',
    # 'cmsplugin_filer_folder': 'cmsplugin_filer_folder.migrations_django',
    # 'cmsplugin_filer_link': 'cmsplugin_filer_link.migrations_django',
    # 'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
    # 'cmsplugin_filer_video': 'cmsplugin_filer_video.migrations_django',
Patrick Colmant's avatar
Patrick Colmant committed
276 277
}

278
CMS_PERMISSION = False  # When set to True, don't forget 'cms.middleware.user.CurrentUserMiddleware'
Patrick Colmant's avatar
Patrick Colmant committed
279
CMS_PUBLIC_FOR = 'all'
Patrick Colmant's avatar
Patrick Colmant committed
280
# CMS_PUBLIC_FOR = 'staff'
Patrick Colmant's avatar
Patrick Colmant committed
281 282 283 284 285 286
CMS_SHOW_START_DATE = False
CMS_SHOW_END_DATE = False
CMS_SEO_FIELDS = False
CMS_URL_OVERWRITE = True
CMS_MENU_TITLE_OVERWRITE = True
CMS_REDIRECTS = True
Patrick's avatar
Patrick committed
287

Patrick's avatar
Patrick committed
288
CKEDITOR_SETTINGS = {
289
    'language': '{{ language }}',
Patrick Colmant's avatar
Patrick Colmant committed
290 291 292
    'toolbar_CMS': [
        ['Undo', 'Redo'],
        ['cmsplugins', '-', 'ShowBlocks'],
293
        ['Format',],
Patrick Colmant's avatar
Patrick Colmant committed
294 295 296 297 298 299 300 301 302 303 304 305
        ['TextColor', 'BGColor', '-', 'PasteText'],
        ['Maximize', ''],
        '/',
        ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript', '-', 'RemoveFormat'],
        ['JustifyLeft', 'JustifyCenter', 'JustifyRight'],
        ['HorizontalRule'],
        ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Table'],
        ['Source']
    ],
    'toolbar_HTMLField': [
        ['Format', 'Bold', 'Italic', 'TextColor', '-', 'NumberedList', 'BulletedList', 'RemoveFormat'],
        ['Preview', 'Cut', 'Copy', 'PasteText', 'Link', '-', 'Undo', 'Redo'],
Patrick's avatar
Patrick committed
306
        ['Source']
Patrick Colmant's avatar
Patrick Colmant committed
307 308
    ],
    'forcePasteAsPlainText': 'true',
Patrick's avatar
Cleanup  
Patrick committed
309
    'skin': 'moono',
310 311
    # 'stylesSet' : 'my_styles:%sjs/ckeditor-styles.js' % STATIC_URL,
    # 'stylesSet' : [],
Patrick Colmant's avatar
Patrick Colmant committed
312 313
    # 'extraPlugins': 'cmsplugins',
    'format_tags': 'p;h4;h5;blockquote;mutted;success;info;danger;heart;pushpin',
314 315 316 317 318 319 320 321 322 323 324 325 326 327
    'format_blockquote': {'element': 'blockquote', 'name': 'Blockquote'},
    'format_heart': {'element': 'span', 'attributes': {'class': 'glyphicon glyphicon-heart-empty'}},
    'format_infosign': {'element': 'span', 'attributes': {'class': 'glyphicon glyphicon-info-sign'}},
    'format_warningsign': {'element': 'span', 'attributes': {'class': 'glyphicon glyphicon-warning-sign'}},
    'format_pushpin': {'element': 'span', 'attributes': {'class': 'glyphicon glyphicon-pushpin'}},
    'format_mutted': {'element': 'p', 'attributes': {'class': 'text-muted'}, 'name': 'Mutted'},
    'format_success': {'element': 'p', 'attributes': {'class': 'bg-success'}, 'name': 'Success'},
    'format_info': {'element': 'p', 'attributes': {'class': 'bg-info'}, 'name': 'Info'},
    'format_danger': {'element': 'p', 'attributes': {'class': 'bg-danger'}, 'name': 'Danger'},
    # format_p = { element: 'p', attributes: { 'class': 'normalPara' } };
    # format_test = { element : 'span', attributes : { 'class' : 'test' }, styles: { color: 'blue'} };
    # 'contentsCss' : '//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css',
    'contentsCss': '%sbootstrap/css/bootstrap.css' % STATIC_URL,
    # 'extraAllowedContent' : '*(*)',
328 329 330 331 332 333
    # 'extraAllowedContent' : 'iframe[*]',
    # 'removeFormatTags': 'big,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,u,var',
    # NOTE: Some versions of CKEditor will pre-sanitize your text before
    # passing it to the web server, rendering the above settings useless.
    # To ensure this does not happen, you may need to add
    # the following parameters to CKEDITOR_SETTINGS:
Patrick Colmant's avatar
Patrick Colmant committed
334 335
    'basicEntities': False,
    'entities': False,
Patrick's avatar
Patrick committed
336
    'enterMode' : 2,
337
    # Do not dispaly the HTML Path below the edit window
Patrick Colmant's avatar
Patrick Colmant committed
338 339 340 341 342 343 344
    'removePlugins': 'elementspath',
}

CKEDITOR_SETTINGS_MODEL2 = {
    'language': '{{ language }}',
    'toolbar_HTMLField': [
        ['Format', 'Bold', 'Italic', 'TextColor', '-', 'NumberedList', 'BulletedList', 'RemoveFormat'],
345
        ['Preview', 'Cut', 'Copy', 'PasteText', 'Image', 'Simplebox', 'Link', '-', 'Undo', 'Redo'],
Patrick's avatar
Patrick committed
346 347
        ['Source']
        # ['Maximize', '']
Patrick Colmant's avatar
Patrick Colmant committed
348
    ],
349 350
    # 'extraPlugins': 'base64image',
    'extraPlugins': 'simplebox',
Patrick Colmant's avatar
Patrick Colmant committed
351 352 353 354
    'forcePasteAsPlainText': 'true',
    'skin': 'moono',
    'format_tags': 'p;h4;h5',
    'contentsCss': '%sbootstrap/css/bootstrap.css' % STATIC_URL,
Patrick's avatar
Patrick committed
355
    'removeFormatTags': 'iframe,big,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,u,var',
Patrick Colmant's avatar
Patrick Colmant committed
356 357
    'basicEntities': False,
    'entities': False,
358
    'enterMode': 2,
Patrick Colmant's avatar
Patrick Colmant committed
359
    'removePlugins': 'elementspath',
Patrick's avatar
Patrick committed
360 361
}

362
# Drag & Drop Images
Patrick's avatar
Cleanup  
Patrick committed
363
# TEXT_SAVE_IMAGE_FUNCTION = 'djangocms_text_ckeditor.picture_save.create_picture_plugin'
Patrick's avatar
Patrick committed
364

365 366 367 368 369 370 371 372
# djangocms-text-ckeditor uses html5lib to sanitize HTML
# to avoid security issues and to check for correct HTML code.
# Sanitisation may strip tags usesful for some use cases such as iframe;
# you may customize the tags and attributes allowed by overriding
# the TEXT_ADDITIONAL_TAGS and TEXT_ADDITIONAL_ATTRIBUTES settings:
TEXT_ADDITIONAL_TAGS = ('span', 'iframe',)
TEXT_ADDITIONAL_ATTRIBUTES = ('class', 'scrolling', 'allowfullscreen', 'frameborder')
TEXT_HTML_SANITIZE = True
Patrick Colmant's avatar
Patrick Colmant committed
373 374 375

FILER_ENABLE_LOGGING = False
FILER_IMAGE_USE_ICON = True
Patrick's avatar
Patrick committed
376 377
FILER_ALLOW_REGULAR_USERS_TO_ADD_ROOT_FOLDERS = True
FILER_ENABLE_PERMISSIONS = False
Patrick Colmant's avatar
Patrick Colmant committed
378 379
FILER_IS_PUBLIC_DEFAULT = True
FILER_SUBJECT_LOCATION_IMAGE_DEBUG = True
Patrick's avatar
Patrick committed
380
FILER_DUMP_PAYLOAD = True
Patrick Colmant's avatar
Patrick Colmant committed
381
FILER_DEBUG = False
Patrick Colmant's avatar
Patrick Colmant committed
382 383 384 385 386 387 388

THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace',
    'easy_thumbnails.processors.autocrop',
    #'easy_thumbnails.processors.scale_and_crop',
    'filer.thumbnail_processors.scale_and_crop_with_subject_location',
    'easy_thumbnails.processors.filters',
Patrick's avatar
Patrick committed
389
    'easy_thumbnails.processors.background',
Patrick Colmant's avatar
Patrick Colmant committed
390
)
Patrick Colmant's avatar
Patrick Colmant committed
391
THUMBNAIL_HIGH_RESOLUTION = True
Patrick's avatar
Patrick committed
392 393
THUMBNAIL_PROGRESSIVE = 100
THUMBNAIL_PRESERVE_EXTENSIONS = True
Patrick Colmant's avatar
Patrick Colmant committed
394

Patrick's avatar
Patrick committed
395 396 397 398 399 400
THUMBNAIL_OPTIMIZE_COMMAND = {
    'png': '/usr/bin/optipng {filename}',
    'gif': '/usr/bin/optipng {filename}',
    'jpeg': '/usr/bin/jpegoptim {filename}',
}
THUMBNAIL_DEBUG = FILER_DEBUG
Patrick Colmant's avatar
Patrick Colmant committed
401 402

##################### Repanier
403
AUTH_USER_MODEL = 'auth.User'
Patrick Colmant's avatar
Patrick Colmant committed
404
AUTHENTICATION_BACKENDS = ('repanier.auth_backend.RepanierCustomBackend',)
Patrick's avatar
Patrick committed
405
# ADMIN_LOGIN = 'pi'
406
# ADMIN_PASSWORD = 'raspberry'
Patrick Colmant's avatar
Patrick Colmant committed
407 408 409
LOGIN_URL = "/repanier/go_repanier/"
LOGIN_REDIRECT_URL = "/"
LOGOUT_URL = "/repanier/leave_repanier/"
Patrick Colmant's avatar
Patrick Colmant committed
410

411 412 413 414 415 416 417 418 419
# ################# Django_crispy_forms
# INSTALLED_APPS += (
#     'crispy_forms',
#     # 'crispy_forms_foundation',
# )
#
# CRISPY_TEMPLATE_PACK = "bootstrap3"
# # # CRISPY_TEMPLATE_PACK = "foundation"
# # JSON_MODULE = 'ujson'
Patrick Colmant's avatar
Patrick Colmant committed
420

Patrick Colmant's avatar
Patrick Colmant committed
421 422 423
################# Django_compressor
INSTALLED_APPS += (
    'compressor',
Patrick Colmant's avatar
Patrick Colmant committed
424
)
Patrick Colmant's avatar
Patrick Colmant committed
425 426 427 428
##### From : django/conf/global_settings.py
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
429
    #    'django.contrib.staticfiles.finders.DefaultStorageFinder',
Patrick Colmant's avatar
Patrick Colmant committed
430 431
)

Patrick Colmant's avatar
Patrick Colmant committed
432
STATICFILES_FINDERS += (
433
    'compressor.finders.CompressorFinder',
Patrick Colmant's avatar
Patrick Colmant committed
434 435
)

Patrick Colmant's avatar
Patrick Colmant committed
436 437 438 439 440 441 442 443 444
COMPRESS_ENABLED = True
COMPRESS_OUTPUT_DIR = "compressor"
COMPRESS_STORAGE = 'compressor.storage.GzipCompressorFileStorage'
COMPRESS_PARSER = "compressor.parser.HtmlParser"
COMPRESS_OFFLINE = False

###################### Django : Cache setup (https://docs.djangoproject.com/en/dev/topics/cache/)

CACHE_MIDDLEWARE_ALIAS = 'default'
Patrick's avatar
Patrick committed
445
CACHE_MIDDLEWARE_SECONDS = 3600
Patrick Colmant's avatar
Patrick Colmant committed
446

Patrick's avatar
Patrick committed
447 448 449 450 451 452 453 454 455 456 457
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': os.path.join(DJANGO_SETTINGS_CACHE, ALLOWED_HOSTS[0]),
        'TIMEOUT': 300,
        'OPTIONS': {
            'MAX_ENTRIES': 1000,
            'CULL_FREQUENCY': 3
        }
    }
}
Patrick Colmant's avatar
Patrick Colmant committed
458 459

CMS_CACHE_DURATIONS = {
460 461 462 463 464
    'content': 300,  # default 60
    'menus': 3600,  # default 3600
    'permissions': 3600  # default: 3600
}

Patrick Colmant's avatar
Patrick Colmant committed
465 466 467 468 469
##################### DECIMAL
from decimal import getcontext, ROUND_HALF_UP

getcontext().rounding = ROUND_HALF_UP

Patrick's avatar
Patrick committed
470 471 472 473 474
##################### DJANGO REST_FRAMEWORK
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
    'PAGE_SIZE': 10
}
Patrick's avatar
Patrick committed
475 476 477 478 479

##################### DJANGO IMPORT EXPORT
IMPORT_EXPORT_USE_TRANSACTIONS = True


Patrick's avatar
Patrick committed
480 481
DATE_INPUT_FORMATS = (DJANGO_SETTINGS_DATE, "%d/%m/%Y", "%Y-%m-%d")
DATETIME_INPUT_FORMATS = (DJANGO_SETTINGS_DATETIME,)
Patrick's avatar
Patrick committed
482

Patrick's avatar
Patrick committed
483
if DJANGO_SETTINGS_LOGGING:
Patrick's avatar
Patrick committed
484 485 486 487 488 489 490 491 492 493 494 495 496
    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'filters': {
            'require_debug_false': {
                '()': 'django.utils.log.RequireDebugFalse'
            }
        },
        'handlers': {
            'mail_admins': {
                'level': 'ERROR',
                'filters': ['require_debug_false'],
                'class': 'django.utils.log.AdminEmailHandler'
Patrick's avatar
Patrick committed
497 498 499
            },
            'console': {
                'level': 'INFO',
Patrick's avatar
Patrick committed
500 501 502 503 504 505 506 507
                'class': 'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.request': {
                'handlers': ['mail_admins'],
                'level': 'ERROR',
                'propagate': True,
Patrick's avatar
Patrick committed
508 509
            },
            'django.db.backends': {
Patrick's avatar
Patrick committed
510 511 512 513 514 515
                'level': 'DEBUG',
                'handlers': ['console'],
            },
        }
    }

516

Patrick's avatar
Patrick committed
517
CMS_TEMPLATES = (
Patrick's avatar
Patrick committed
518 519 520 521 522
    ('cms_page.html', gettext("Internal page")),
    ('cms_subpage.html', gettext("Internal page with menu on left")),
    ('cms_home.html', gettext("Home page")),
    ('cms_bootstrap_page.html', gettext("Bootstrap page")),
    ('cms_bootstrap_subpage.html', gettext("Bootstrap page with menu on left"))
Patrick's avatar
Patrick committed
523
)
524

Patrick's avatar
Patrick committed
525 526 527 528
if DJANGO_SETTINGS_LANGUAGE == 'fr':

    LANGUAGE_CODE = 'fr'
    LANGUAGES = [
Patrick's avatar
Patrick committed
529
        ('fr', get_language_info('fr')['name_local']),
Patrick's avatar
Patrick committed
530 531 532 533 534
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
            'code': 'fr',
Patrick's avatar
Patrick committed
535
            'name': get_language_info('fr')['name'],
Patrick's avatar
Patrick committed
536 537 538 539 540 541 542 543
            'public': True,
            'hide_untranslated': False,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
Patrick's avatar
Patrick committed
544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571
            {'code': LANGUAGE_CODE,},
        ),
        'default': {
            'fallbacks'        : [LANGUAGE_CODE],
            'hide_untranslated': False,
        },
    }

elif DJANGO_SETTINGS_LANGUAGE == 'es':

    LANGUAGE_CODE = 'es'
    LANGUAGES = [
        ('es', get_language_info('es')['name_local']),
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
            'code': 'es',
            'name': get_language_info('es')['name'],
            'public': True,
            'hide_untranslated': False,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
            {'code': LANGUAGE_CODE,},
Patrick's avatar
Patrick committed
572
        ),
Patrick's avatar
Patrick committed
573 574 575 576
        'default': {
            'fallbacks'        : [LANGUAGE_CODE],
            'hide_untranslated': False,
        },
Patrick's avatar
Patrick committed
577 578 579 580 581 582
    }

elif DJANGO_SETTINGS_LANGUAGE == 'fr-nl-en':

    LANGUAGE_CODE = 'fr'
    LANGUAGES = [
Patrick's avatar
Patrick committed
583 584 585
        ('fr', get_language_info('fr')['name_local']),
        ('nl', get_language_info('nl')['name_local']),
        ('en', get_language_info('en')['name_local']),
Patrick's avatar
Patrick committed
586 587 588 589 590
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
                'code': 'fr',
Patrick's avatar
Patrick committed
591
                'name': get_language_info('fr')['name'],
Patrick's avatar
Patrick committed
592 593 594 595 596 597
                'public': True,
                'redirect_on_fallback':False,
                'hide_untranslated': False,
            },
            {
                'code': 'nl',
Patrick's avatar
Patrick committed
598
                'name': get_language_info('nl')['name'],
Patrick's avatar
Patrick committed
599 600 601 602 603
                'fallbacks': ['en', 'fr'],
                'public': True,
            },
            {
                'code': 'en',
Patrick's avatar
Patrick committed
604 605
                'name': get_language_info('en')['name'],
                'fallbacks': [LANGUAGE_CODE],
Patrick's avatar
Patrick committed
606 607 608 609 610 611 612 613 614 615 616 617
                'public': True,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
            {'code': 'fr',},
            {'code': 'nl',},
            {'code': 'en',},
        ),
        'default': {
Patrick's avatar
Patrick committed
618
                'fallbacks': [LANGUAGE_CODE],
Patrick's avatar
Patrick committed
619 620 621
                'hide_untranslated': False,
        },
    }
Patrick's avatar
Patrick committed
622
elif DJANGO_SETTINGS_LANGUAGE == 'fr-en':
Patrick's avatar
Patrick committed
623

Patrick's avatar
Patrick committed
624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677
    LANGUAGE_CODE = 'fr'
    LANGUAGES = [
        ('fr', get_language_info('fr')['name_local']),
        ('en', get_language_info('en')['name_local']),
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
                'code': 'fr',
                'name': get_language_info('fr')['name'],
                'public': True,
                'redirect_on_fallback':False,
                'hide_untranslated': False,
            },
            {
                'code': 'en',
                'name': get_language_info('en')['name'],
                'fallbacks': [LANGUAGE_CODE],
                'public': True,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
            {'code': 'fr',},
            {'code': 'en',},
        ),
        'default': {
                'fallbacks': [LANGUAGE_CODE],
                'hide_untranslated': False,
        },
    }

##################### DJANGOCMS-CASCADE
CMSPLUGIN_CASCADE_PLUGINS = (
    'cmsplugin_cascade.generic',
    'cmsplugin_cascade.link',
    'cmsplugin_cascade.sharable',
    'cmsplugin_cascade.bootstrap3',
    'cmsplugin_cascade.segmentation',
)

from cmsplugin_cascade.extra_fields.config import PluginExtraFieldsConfig
CMSPLUGIN_CASCADE = {
    'plugins_with_extra_fields': {
        'BootstrapRowPlugin': PluginExtraFieldsConfig(inline_styles={
            'extra_fields:Margins': ['margin-top', 'margin-bottom'],
            'extra_units:Margins': 'px,em'}),
        'BootstrapJumbotronPlugin': PluginExtraFieldsConfig(inline_styles={
            # 'extra_fields:Margins': ['margin-top', 'margin-bottom'],
            # 'extra_units:Margins': 'px,em',
            'extra_fields:Margins': ['padding-top', 'padding-bottom', 'margin-bottom'],
            'extra_units:Margins': 'px,em'}),
Patrick's avatar
Patrick committed
678
    },
Patrick's avatar
Patrick committed
679 680 681 682 683 684 685 686 687 688 689 690
    'bootstrap3': (
        ('xs', (768, 'mobile', _("mobile phones"), 750, 768)),
        ('sm', (768, 'tablet', _("tablets"), 750, 992)),
        ('md', (992, 'laptop', _("laptops"), 970, 1200)),
        ('lg', (1200, 'desktop', _("large desktops"), 1170, 2500)),
    ),
    'segmentation_mixins': (
        (
            'cmsplugin_cascade.segmentation.mixins.EmulateUserModelMixin',
            'cmsplugin_cascade.segmentation.mixins.EmulateUserAdminMixin',
        ),
    ),
Patrick's avatar
Patrick committed
691 692 693 694 695 696 697 698 699
}

CMS_PLACEHOLDER_CONF = {
    'home-hero': {
        'name': gettext('Hero'),
        'plugins': [
            'TextPlugin',
        ],
        'text_only_plugins': [
700 701
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
702 703 704
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727
        ],
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        """
                        <h3>Lorem ipsum</h3>
                        <p>Lorem ipsum.</p>
                        <p class="text-muted"><span class="glyphicon glyphicon-pushpin"></span>&nbsp;Lorem ipsum.</p>
                        <h3>Lorem ipsum</h3>
                        <p class="text-muted">Lorem ipsum.</p>
                        """
                },
            },
        ]
    },
    'home-col-1': {
        'name': gettext('Column 1'),
        'plugins': [
            'TextPlugin',
        ],
        'text_only_plugins': [
728 729
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
730 731 732
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755
        ],
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        """
                        <div class="panel panel-info">
                        <div class="panel-heading"><h4>Lorem ipsum</h4></div>
                        <div class="panel-body">
                        <ul class="list-group">
                        <li class="list-group-item">Lorem ipsum.</li>
                        <li class="list-group-item">Lorem ipsum.</li>
                        </ul>
                        </div>
                        </div>
                        """
                },
            },
        ]
    },
    'home-col-2': {
        'name': gettext('Column 2'),
Patrick's avatar
Patrick committed
756
        'plugins'          : [
Patrick's avatar
Patrick committed
757 758 759
            'TextPlugin',
        ],
        'text_only_plugins': [
760 761
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
762 763 764
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787
        ],
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        """
                        <div class="panel panel-danger">
                        <div class="panel-heading"><h4>Lorem ipsum</h4></div>
                        <div class="panel-body">
                        <ul class="list-group">
                        <li class="list-group-item">Lorem ipsum.</li>
                        <li class="list-group-item">Lorem ipsum.</li>
                        </ul>
                        </div>
                        </div>
                        """
                },
            },
        ]
    },
    'home-col-3': {
        'name': gettext('Column 3'),
Patrick's avatar
Patrick committed
788
        'plugins'          : [
Patrick's avatar
Patrick committed
789 790 791
            'TextPlugin',
        ],
        'text_only_plugins': [
792 793
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
794 795 796
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819
        ],
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        """
                        <div class="panel panel-warning">
                        <div class="panel-heading"><h4>Lorem ipsum</h4></div>
                        <div class="panel-body">
                        <ul class="list-group">
                        <li class="list-group-item">Lorem ipsum.</li>
                        <li class="list-group-item">Lorem ipsum.</li>
                        </ul>
                        </div>
                        </div>
                        """
                },
            },
        ]
    },
    'subpage_content': {
        'name': gettext('Content'),
Patrick's avatar
Patrick committed
820
        'plugins'          : [
Patrick's avatar
Patrick committed
821 822 823
            'TextPlugin',
        ],
        'text_only_plugins': [
Patrick's avatar
Patrick committed
824
            'TextLinkPlugin',
825
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
826 827 828
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
829 830 831 832 833 834 835 836 837 838 839 840 841 842 843
        ],
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        """
                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed luctus tortor quis imperdiet egestas. Proin mollis sem ipsum, nec facilisis nibh cursus eu. Sed convallis cursus venenatis. Maecenas rutrum, elit ut ornare lobortis, mi dolor placerat elit, at laoreet sapien urna vitae arcu. Phasellus consectetur tincidunt ullamcorper. Sed et enim at lacus cursus rhoncus. Vestibulum porttitor velit non ante ullamcorper, ut gravida ipsum vestibulum. Aenean sed condimentum nisi. Quisque sagittis mauris non leo tincidunt vulputate. Ut euismod ante purus, sed pulvinar nisl volutpat quis. Maecenas consequat mi vitae libero egestas varius. Nam in tempor augue, sit amet pulvinar purus.</p>
                        <p>Vestibulum sed elit mollis, dapibus ligula in, ultricies purus. Proin fermentum blandit ultrices. Suspendisse vitae nisi mollis, viverra ipsum vitae, adipiscing lorem. Curabitur vestibulum orci felis, nec pretium arcu elementum a. Curabitur blandit fermentum tellus at consequat. Sed eget tempor elit. Donec in elit purus.</p>
                        <p>Morbi vulputate dolor sed nibh ullamcorper, eget molestie justo adipiscing. Fusce faucibus vel quam eu ultrices. Sed aliquet fringilla tristique. Vestibulum sit amet nunc tincidunt turpis tristique ullamcorper. Nam tempor mi felis, ac vulputate quam varius eget. Nunc blandit nulla vel metus lacinia, sit amet posuere lectus viverra. Praesent vel tortor facilisis, imperdiet orci sed, auctor erat.</p>
                        """
                },
            },
        ]
    },
Patrick's avatar
Patrick committed
844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873
    'bootstrap_content': {
        'name'           : gettext('Bootstrap Content'),
        'plugins'        : [
            'BootstrapContainerPlugin',
            'BootstrapJumbotronPlugin',
        ],
        'text_only_plugins': [
            # 'FilerLinkPlugin',
            'TextLinkPlugin',
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
        ],
        'parent_classes' : {
            'BootstrapContainerPlugin': None,
            'BootstrapJumbotronPlugin': None,
        },
        'glossary': {
            'breakpoints': ['xs', 'sm', 'md', 'lg'],
            'container_max_widths': {'xs': 750, 'sm': 750, 'md': 970, 'lg': 1170},
            'fluid': False,
            'media_queries': {
                'xs': ['(max-width: 768px)'],
                'sm': ['(min-width: 768px)', '(max-width: 992px)'],
                'md': ['(min-width: 992px)', '(max-width: 1200px)'],
                'lg': ['(min-width: 1200px)'],
            },
        },
    },

Patrick's avatar
Patrick committed
874 875 876
    'footer': {
        'name': gettext('Footer'),
        'plugins': ['TextPlugin', ],
Patrick's avatar
Patrick committed
877
        'text_only_plugins': ['TextLinkPlugin'],
Patrick's avatar
Patrick committed
878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
        'limits': {
            'TextPlugin': 1,
        },
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        'Lorem ipsum dolor sit amet'

                },
            },
        ]
    },
}
Patrick's avatar
Patrick committed
893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961

##################### REPANIER VAT/RATE

if DJANGO_SETTINGS_COUNTRY == "ch":
    # Switzerland
    DICT_VAT_DEFAULT = VAT_325
    LUT_VAT = (
        (VAT_100, _('none')),
        (VAT_325, _('vat 2.5%')),
        (VAT_350, _('vat 3.8%')),
        (VAT_430, _('vat 8%')),
    )

    LUT_VAT_REVERSE = (
        (_('none'), VAT_100),
        (_('vat 2.5%'), VAT_325),
        (_('vat 3.8%'), VAT_350),
        (_('vat 8%'), VAT_430),
    )
elif DJANGO_SETTINGS_COUNTRY == "fr":
    # France
    DICT_VAT_DEFAULT = VAT_375
    LUT_VAT = (
        (VAT_100, _('none')),
        (VAT_315, _('vat 2.1%')),
        (VAT_375, _('vat 5.5%')),
        (VAT_460, _('vat 10%')),
        (VAT_590, _('vat 20%')),
    )

    LUT_VAT_REVERSE = (
        (_('none'), VAT_100),
        (_('vat 2.1%'), VAT_315),
        (_('vat 5.5%'), VAT_375),
        (_('vat 10%'), VAT_460),
        (_('vat 20%'), VAT_590),
    )
elif DJANGO_SETTINGS_COUNTRY == "es":
    # Espagne
    DICT_VAT_DEFAULT = VAT_460
    LUT_VAT = (
        (VAT_100, _('none')),
        (VAT_360, _('vat 4%')),
        (VAT_460, _('vat 10%')),
        (VAT_600, _('vat 21%')),
    )

    LUT_VAT_REVERSE = (
        (_('none'), VAT_100),
        (_('vat 4%'), VAT_360),
        (_('vat 10%'), VAT_460),
        (_('vat 21%'), VAT_600),
    )
else:
    # Belgium
    DICT_VAT_DEFAULT = VAT_400
    LUT_VAT = (
        (VAT_100, _('none')),
        (VAT_400, _('vat 6%')),
        (VAT_500, _('vat 12%')),
        (VAT_600, _('vat 21%')),
    )

    LUT_VAT_REVERSE = (
        (_('none'), VAT_100),
        (_('vat 6%'), VAT_400),
        (_('vat 12%'), VAT_500),
        (_('vat 21%'), VAT_600),
    )