common_settings.py 31.7 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
###################### DEBUG
Patrick's avatar
Patrick committed
98
DEBUG = DJANGO_SETTINGS_DEBUG
Patrick Colmant's avatar
Patrick Colmant committed
99
DEBUG_PROPAGATE_EXCEPTIONS = DEBUG
Patrick's avatar
Patrick committed
100 101
TEMPLATE_DEBUG = False

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

DATABASES = {
    'default': {
113
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
Patrick's avatar
Patrick committed
114 115 116 117 118
        'NAME': DJANGO_SETTINGS_DATABASE_NAME,  # Or path to database file if using sqlite3.
        'USER': DJANGO_SETTINGS_DATABASE_USER,
        'PASSWORD': DJANGO_SETTINGS_DATABASE_PASSWORD,
        'HOST': DJANGO_SETTINGS_DATABASE_HOST,
        'PORT': DJANGO_SETTINGS_DATABASE_PORT,  # Set to empty string for default.
119 120
    }
}
Patrick's avatar
Patrick committed
121 122 123 124 125 126
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
127
    EMAIL_USE_SSL = False
Patrick's avatar
Patrick committed
128 129
else:
    EMAIL_USE_SSL =DJANGO_SETTINGS_EMAIL_USE_SSL
Patrick Colmant's avatar
Patrick Colmant committed
130 131 132
###################### I18N

TIME_ZONE = 'Europe/Brussels'
Patrick's avatar
Patrick committed
133 134 135 136 137 138
USE_TZ = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = True
THOUSAND_SEPARATOR = '.'
NUMBER_GROUPING = 3
DECIMAL_SEPARATOR = ','
Patrick Colmant's avatar
Patrick Colmant committed
139

Patrick's avatar
Patrick committed
140 141 142 143 144 145
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
146
DEFAULT_FROM_EMAIL = "no-reply%s" % DJANGO_SETTINGS_ALLOWED_MAIL_EXTENSION
Patrick Colmant's avatar
Patrick Colmant committed
147

Patrick's avatar
Patrick committed
148 149
USE_X_FORWARDED_HOST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Patrick's avatar
Patrick committed
150
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Patrick's avatar
Patrick committed
151 152
SESSION_COOKIE_HTTPONLY = True
SESSION_FILE_PATH = DJANGO_SETTINGS_SESSION
Patrick Colmant's avatar
Patrick Colmant committed
153

Patrick's avatar
Patrick committed
154
##################### Django & Django CMS
Patrick Colmant's avatar
Patrick Colmant committed
155 156 157 158
LOCALE_PATHS = (
    os.path.join(PROJECT_DIR, "locale"),
)

Patrick Colmant's avatar
Patrick Colmant committed
159
INSTALLED_APPS = (
Patrick's avatar
Patrick committed
160 161
    '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
162 163 164
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
Patrick's avatar
Patrick committed
165 166
    'django.contrib.admin',
    'django.contrib.sites',
Patrick Colmant's avatar
Patrick Colmant committed
167
    'django.contrib.sitemaps',
Patrick's avatar
Patrick committed
168 169 170
    'django.contrib.staticfiles',
    'django.contrib.messages',

Patrick Colmant's avatar
Patrick Colmant committed
171
    'djangocms_text_ckeditor',  # note this needs to be above the 'cms' entry
Patrick's avatar
Patrick committed
172 173 174 175 176 177 178
    '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
179
    'cmsplugin_cascade',
Patrick's avatar
Patrick committed
180
    'cmsplugin_cascade.clipboard',  # optional
Patrick's avatar
Patrick committed
181 182
    'cmsplugin_cascade.extra_fields',  # optional
    'cmsplugin_cascade.sharable',  # optional
Patrick's avatar
Patrick committed
183
    'cmsplugin_cascade.segmentation',  # optiona
Patrick Colmant's avatar
Patrick Colmant committed
184
    'cms',
Patrick's avatar
Patrick committed
185
    # 'cms_bootstrap3',
Patrick Colmant's avatar
Patrick Colmant committed
186
    'menus',
Patrick's avatar
Patrick committed
187 188
    'treebeard',
    'filer',
Patrick Colmant's avatar
Patrick Colmant committed
189
    'easy_thumbnails',
Patrick's avatar
Patrick committed
190
    'easy_thumbnails.optimize',
Patrick's avatar
Patrick committed
191
    # 'sass_processor',
Patrick's avatar
Patrick committed
192
    'sekizai',
Patrick's avatar
Patrick committed
193 194
    'mptt',
    'django_mptt_admin',
Patrick Colmant's avatar
Patrick Colmant committed
195
    'reversion',
Patrick's avatar
Patrick committed
196
    # 'aldryn_reversion',
Patrick Colmant's avatar
Patrick Colmant committed
197
    'parler',
Patrick's avatar
Patrick committed
198
    'import_export',
Patrick's avatar
Patrick committed
199 200
    'rest_framework',
    'easy_select2',
201
    'djng',
Patrick Colmant's avatar
Patrick Colmant committed
202 203
)

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

207
MIDDLEWARE = (
Patrick Colmant's avatar
Patrick Colmant committed
208
    'django.middleware.cache.UpdateCacheMiddleware',
Patrick's avatar
Patrick committed
209
    'cms.middleware.utils.ApphookReloadMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
210
    'django.contrib.sessions.middleware.SessionMiddleware',
Patrick's avatar
Patrick committed
211
    'django.middleware.csrf.CsrfViewMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
212 213 214
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
Patrick's avatar
Patrick committed
215
    'django.middleware.common.CommonMiddleware',
Patrick's avatar
Patrick committed
216
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
217
    'cms.middleware.user.CurrentUserMiddleware',
Patrick's avatar
Patrick committed
218
    'cms.middleware.page.CurrentPageMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
219
    'cms.middleware.toolbar.ToolbarMiddleware',
Patrick's avatar
Patrick committed
220
    'cms.middleware.language.LanguageCookieMiddleware',
Patrick's avatar
Cleanup  
Patrick committed
221
    'django.middleware.cache.FetchFromCacheMiddleware',
Patrick Colmant's avatar
Patrick Colmant committed
222
)
Patrick Colmant's avatar
Patrick Colmant committed
223

Patrick's avatar
Patrick committed
224 225 226 227 228 229
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
        os.path.join(PROJECT_DIR, "templates"),
    ],
Patrick's avatar
Patrick committed
230
    # 'APP_DIRS': True,
Patrick's avatar
Patrick committed
231 232 233
    'OPTIONS': {
        'context_processors': [
            'django.contrib.auth.context_processors.auth',
Patrick's avatar
Patrick committed
234
            'django.contrib.messages.context_processors.messages',
Patrick's avatar
Patrick committed
235
            'django.template.context_processors.i18n',
Patrick's avatar
Patrick committed
236 237
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
Patrick's avatar
Patrick committed
238 239
            'django.template.context_processors.media',
            'django.template.context_processors.csrf',
Patrick's avatar
Patrick committed
240
            'django.template.context_processors.tz',
Patrick's avatar
Patrick committed
241
            'sekizai.context_processors.sekizai',
Patrick's avatar
Patrick committed
242 243
            'django.template.context_processors.static',
            'cms.context_processors.cms_settings'
Patrick's avatar
Patrick committed
244
        ],
Patrick's avatar
Patrick committed
245 246 247 248 249 250
        'loaders': [
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
            'django.template.loaders.eggs.Loader'
        ],
    },
Patrick's avatar
Patrick committed
251 252
},
]
Patrick Colmant's avatar
Patrick Colmant committed
253

254
CMS_PERMISSION = False  # When set to True, don't forget 'cms.middleware.user.CurrentUserMiddleware'
Patrick Colmant's avatar
Patrick Colmant committed
255
CMS_PUBLIC_FOR = 'all'
Patrick Colmant's avatar
Patrick Colmant committed
256
# CMS_PUBLIC_FOR = 'staff'
Patrick Colmant's avatar
Patrick Colmant committed
257 258 259 260 261 262
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
263

Patrick's avatar
Patrick committed
264
CKEDITOR_SETTINGS = {
265
    'language': '{{ language }}',
Patrick Colmant's avatar
Patrick Colmant committed
266 267 268
    'toolbar_CMS': [
        ['Undo', 'Redo'],
        ['cmsplugins', '-', 'ShowBlocks'],
269
        ['Format',],
Patrick Colmant's avatar
Patrick Colmant committed
270 271 272 273 274 275 276 277 278 279 280 281
        ['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
282
        ['Source']
Patrick Colmant's avatar
Patrick Colmant committed
283 284
    ],
    'forcePasteAsPlainText': 'true',
Patrick's avatar
Cleanup  
Patrick committed
285
    'skin': 'moono',
286
    # 'stylesSet' : 'my_styles:%sjs/ckeditor-styles.js' % STATIC_URL,
Patrick Colmant's avatar
Patrick Colmant committed
287
    'format_tags': 'p;h4;h5;blockquote;mutted;success;info;danger;heart;pushpin',
288 289 290 291 292 293 294 295 296 297 298 299 300 301
    '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' : '*(*)',
302 303 304 305 306
    # 'extraAllowedContent' : 'iframe[*]',
    # 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
307 308
    'basicEntities': False,
    'entities': False,
Patrick's avatar
Patrick committed
309
    'enterMode' : 2,
310
    # Do not dispaly the HTML Path below the edit window
Patrick Colmant's avatar
Patrick Colmant committed
311 312 313 314 315 316 317
    'removePlugins': 'elementspath',
}

CKEDITOR_SETTINGS_MODEL2 = {
    'language': '{{ language }}',
    'toolbar_HTMLField': [
        ['Format', 'Bold', 'Italic', 'TextColor', '-', 'NumberedList', 'BulletedList', 'RemoveFormat'],
318
        ['Preview', 'Cut', 'Copy', 'PasteText', 'Image', 'Simplebox', 'Link', '-', 'Undo', 'Redo'],
Patrick's avatar
Patrick committed
319 320
        ['Source']
        # ['Maximize', '']
Patrick Colmant's avatar
Patrick Colmant committed
321
    ],
322
    'extraPlugins': 'simplebox',
Patrick Colmant's avatar
Patrick Colmant committed
323 324 325 326
    'forcePasteAsPlainText': 'true',
    'skin': 'moono',
    'format_tags': 'p;h4;h5',
    'contentsCss': '%sbootstrap/css/bootstrap.css' % STATIC_URL,
Patrick's avatar
Patrick committed
327
    '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
328 329
    'basicEntities': False,
    'entities': False,
330
    'enterMode': 2,
Patrick Colmant's avatar
Patrick Colmant committed
331
    'removePlugins': 'elementspath',
Patrick's avatar
Patrick committed
332 333
}

334
# Drag & Drop Images
Patrick's avatar
Cleanup  
Patrick committed
335
# TEXT_SAVE_IMAGE_FUNCTION = 'djangocms_text_ckeditor.picture_save.create_picture_plugin'
Patrick's avatar
Patrick committed
336

337 338 339 340 341 342 343 344
# 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
345 346 347

FILER_ENABLE_LOGGING = False
FILER_IMAGE_USE_ICON = True
Patrick's avatar
Patrick committed
348 349
FILER_ALLOW_REGULAR_USERS_TO_ADD_ROOT_FOLDERS = True
FILER_ENABLE_PERMISSIONS = False
Patrick Colmant's avatar
Patrick Colmant committed
350 351
FILER_IS_PUBLIC_DEFAULT = True
FILER_SUBJECT_LOCATION_IMAGE_DEBUG = True
Patrick's avatar
Patrick committed
352
FILER_DUMP_PAYLOAD = True
Patrick Colmant's avatar
Patrick Colmant committed
353
FILER_DEBUG = False
Patrick Colmant's avatar
Patrick Colmant committed
354 355 356 357 358 359

THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace',
    'easy_thumbnails.processors.autocrop',
    'filer.thumbnail_processors.scale_and_crop_with_subject_location',
    'easy_thumbnails.processors.filters',
Patrick's avatar
Patrick committed
360
    'easy_thumbnails.processors.background',
Patrick Colmant's avatar
Patrick Colmant committed
361
)
Patrick Colmant's avatar
Patrick Colmant committed
362
THUMBNAIL_HIGH_RESOLUTION = True
Patrick's avatar
Patrick committed
363 364
THUMBNAIL_PROGRESSIVE = 100
THUMBNAIL_PRESERVE_EXTENSIONS = True
Patrick Colmant's avatar
Patrick Colmant committed
365

Patrick's avatar
Patrick committed
366 367 368 369 370 371
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
372 373

##################### Repanier
374
AUTH_USER_MODEL = 'auth.User'
Patrick Colmant's avatar
Patrick Colmant committed
375
AUTHENTICATION_BACKENDS = ('repanier.auth_backend.RepanierCustomBackend',)
Patrick's avatar
Patrick committed
376
# ADMIN_LOGIN = 'pi'
377
# ADMIN_PASSWORD = 'raspberry'
Patrick Colmant's avatar
Patrick Colmant committed
378 379 380
LOGIN_URL = "/repanier/go_repanier/"
LOGIN_REDIRECT_URL = "/"
LOGOUT_URL = "/repanier/leave_repanier/"
Patrick Colmant's avatar
Patrick Colmant committed
381

Patrick Colmant's avatar
Patrick Colmant committed
382 383 384
################# Django_compressor
INSTALLED_APPS += (
    'compressor',
Patrick Colmant's avatar
Patrick Colmant committed
385
)
Patrick Colmant's avatar
Patrick Colmant committed
386 387 388 389
##### From : django/conf/global_settings.py
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
390
    #    'django.contrib.staticfiles.finders.DefaultStorageFinder',
Patrick Colmant's avatar
Patrick Colmant committed
391 392
)

Patrick Colmant's avatar
Patrick Colmant committed
393
STATICFILES_FINDERS += (
394
    'compressor.finders.CompressorFinder',
Patrick Colmant's avatar
Patrick Colmant committed
395 396
)

Patrick Colmant's avatar
Patrick Colmant committed
397 398 399 400 401 402 403 404 405
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
406
CACHE_MIDDLEWARE_SECONDS = 3600
Patrick Colmant's avatar
Patrick Colmant committed
407

Patrick's avatar
Patrick committed
408 409 410 411 412 413 414 415 416 417 418
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
419 420

CMS_CACHE_DURATIONS = {
421 422 423 424 425
    'content': 300,  # default 60
    'menus': 3600,  # default 3600
    'permissions': 3600  # default: 3600
}

Patrick Colmant's avatar
Patrick Colmant committed
426 427 428 429 430
##################### DECIMAL
from decimal import getcontext, ROUND_HALF_UP

getcontext().rounding = ROUND_HALF_UP

Patrick's avatar
Patrick committed
431 432 433 434 435
##################### DJANGO REST_FRAMEWORK
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
    'PAGE_SIZE': 10
}
Patrick's avatar
Patrick committed
436 437 438 439 440

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


Patrick's avatar
Patrick committed
441 442
DATE_INPUT_FORMATS = (DJANGO_SETTINGS_DATE, "%d/%m/%Y", "%Y-%m-%d")
DATETIME_INPUT_FORMATS = (DJANGO_SETTINGS_DATETIME,)
Patrick's avatar
Patrick committed
443

Patrick's avatar
Patrick committed
444
if DJANGO_SETTINGS_LOGGING:
Patrick's avatar
Patrick committed
445 446 447 448 449 450 451 452 453 454 455 456 457
    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
458 459 460
            },
            'console': {
                'level': 'INFO',
Patrick's avatar
Patrick committed
461 462 463 464 465 466 467 468
                'class': 'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.request': {
                'handlers': ['mail_admins'],
                'level': 'ERROR',
                'propagate': True,
Patrick's avatar
Patrick committed
469 470
            },
            'django.db.backends': {
Patrick's avatar
Patrick committed
471 472 473 474 475 476
                'level': 'DEBUG',
                'handlers': ['console'],
            },
        }
    }

477

Patrick's avatar
Patrick committed
478
CMS_TEMPLATES = (
Patrick's avatar
Patrick committed
479 480 481 482 483
    ('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
484
)
485

Patrick's avatar
Patrick committed
486 487 488 489
if DJANGO_SETTINGS_LANGUAGE == 'fr':

    LANGUAGE_CODE = 'fr'
    LANGUAGES = [
Patrick's avatar
Patrick committed
490
        ('fr', get_language_info('fr')['name_local']),
Patrick's avatar
Patrick committed
491 492 493 494 495
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
            'code': 'fr',
Patrick's avatar
Patrick committed
496
            'name': get_language_info('fr')['name'],
Patrick's avatar
Patrick committed
497 498 499 500 501 502 503 504
            'public': True,
            'hide_untranslated': False,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
Patrick's avatar
Patrick committed
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532
            {'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
533
        ),
Patrick's avatar
Patrick committed
534 535 536 537
        'default': {
            'fallbacks'        : [LANGUAGE_CODE],
            'hide_untranslated': False,
        },
Patrick's avatar
Patrick committed
538 539 540 541 542 543
    }

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

    LANGUAGE_CODE = 'fr'
    LANGUAGES = [
Patrick's avatar
Patrick committed
544 545 546
        ('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
547 548 549 550 551
    ]
    CMS_LANGUAGES = {
        SITE_ID: [
            {
                'code': 'fr',
Patrick's avatar
Patrick committed
552
                'name': get_language_info('fr')['name'],
Patrick's avatar
Patrick committed
553 554 555 556 557 558
                'public': True,
                'redirect_on_fallback':False,
                'hide_untranslated': False,
            },
            {
                'code': 'nl',
Patrick's avatar
Patrick committed
559
                'name': get_language_info('nl')['name'],
Patrick's avatar
Patrick committed
560 561 562 563 564
                'fallbacks': ['en', 'fr'],
                'public': True,
            },
            {
                'code': 'en',
Patrick's avatar
Patrick committed
565 566
                'name': get_language_info('en')['name'],
                'fallbacks': [LANGUAGE_CODE],
Patrick's avatar
Patrick committed
567 568 569 570 571 572 573 574 575 576 577 578
                'public': True,
            },
        ]
    }
    PARLER_DEFAULT_LANGUAGE_CODE = LANGUAGE_CODE
    PARLER_LANGUAGES = {
        SITE_ID: (
            {'code': 'fr',},
            {'code': 'nl',},
            {'code': 'en',},
        ),
        'default': {
Patrick's avatar
Patrick committed
579
                'fallbacks': [LANGUAGE_CODE],
Patrick's avatar
Patrick committed
580 581 582
                'hide_untranslated': False,
        },
    }
Patrick's avatar
Patrick committed
583
elif DJANGO_SETTINGS_LANGUAGE == 'fr-en':
Patrick's avatar
Patrick committed
584

Patrick's avatar
Patrick committed
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636
    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': ['padding-top', 'padding-bottom', 'margin-bottom'],
            'extra_units:Margins': 'px,em'}),
Patrick's avatar
Patrick committed
637
    },
Patrick's avatar
Patrick committed
638 639 640 641 642 643 644 645 646 647 648 649
    '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
650 651 652 653 654 655 656 657 658
}

CMS_PLACEHOLDER_CONF = {
    'home-hero': {
        'name': gettext('Hero'),
        'plugins': [
            'TextPlugin',
        ],
        'text_only_plugins': [
659 660
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
661 662 663
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
        ],
        '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': [
687 688
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
689 690 691
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714
        ],
        '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
715
        'plugins'          : [
Patrick's avatar
Patrick committed
716 717 718
            'TextPlugin',
        ],
        'text_only_plugins': [
719 720
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
721 722 723
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746
        ],
        '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
747
        'plugins'          : [
Patrick's avatar
Patrick committed
748 749 750
            'TextPlugin',
        ],
        'text_only_plugins': [
751 752
            'TextLinkPlugin',
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
753 754 755
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778
        ],
        '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
779
        'plugins'          : [
Patrick's avatar
Patrick committed
780 781 782
            'TextPlugin',
        ],
        'text_only_plugins': [
Patrick's avatar
Patrick committed
783
            'TextLinkPlugin',
784
            # 'FilerLinkPlugin',
Patrick's avatar
Patrick committed
785 786 787
            'FilerImagePlugin',
            'FilerFilePlugin',
            'FilerVideoPlugin'
Patrick's avatar
Patrick committed
788 789 790 791 792 793 794 795 796 797 798 799 800 801 802
        ],
        '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
803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832
    '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
833 834
    'footer': {
        'name': gettext('Footer'),
Patrick's avatar
Patrick committed
835
        'plugins': ['TextPlugin',  'FilerImagePlugin'],
Patrick's avatar
Patrick committed
836
        'text_only_plugins': ['TextLinkPlugin'],
Patrick's avatar
Patrick committed
837 838 839 840 841 842 843 844 845 846 847 848 849 850 851
        'limits': {
            'TextPlugin': 1,
        },
        'default_plugins': [
            {
                'plugin_type': 'TextPlugin',
                'values': {
                    'body':
                        'Lorem ipsum dolor sit amet'

                },
            },
        ]
    },
}
Patrick's avatar
Patrick committed
852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 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

##################### 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),
    )