2015-07-02 10:46:33 +02:00
|
|
|
"""
|
|
|
|
Django settings for welco project.
|
|
|
|
|
|
|
|
For more information on this file, see
|
|
|
|
https://docs.djangoproject.com/en/1.7/topics/settings/
|
|
|
|
|
|
|
|
For the full list of settings and their values, see
|
|
|
|
https://docs.djangoproject.com/en/1.7/ref/settings/
|
|
|
|
"""
|
|
|
|
|
|
|
|
import os
|
2021-07-13 11:41:18 +02:00
|
|
|
|
2015-07-02 16:16:57 +02:00
|
|
|
from django.conf import global_settings
|
2022-08-31 09:35:28 +02:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2015-07-02 16:16:57 +02:00
|
|
|
|
|
|
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
2015-07-02 10:46:33 +02:00
|
|
|
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
|
|
|
|
|
|
|
|
|
|
|
|
# Quick-start development settings - unsuitable for production
|
|
|
|
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
|
|
|
|
|
|
|
|
# SECURITY WARNING: keep the secret key used in production secret!
|
|
|
|
SECRET_KEY = '6_7axt+6zknzt_==uj#5lvy!59#+wpvts9qbwie2ci1@hz6&23'
|
|
|
|
|
|
|
|
# SECURITY WARNING: don't run with debug turned on in production!
|
|
|
|
DEBUG = True
|
|
|
|
|
|
|
|
ALLOWED_HOSTS = []
|
|
|
|
|
|
|
|
|
|
|
|
# Application definition
|
|
|
|
|
|
|
|
INSTALLED_APPS = (
|
|
|
|
'django.contrib.admin',
|
|
|
|
'django.contrib.auth',
|
|
|
|
'django.contrib.contenttypes',
|
|
|
|
'django.contrib.sessions',
|
|
|
|
'django.contrib.messages',
|
|
|
|
'django.contrib.staticfiles',
|
2015-07-12 15:03:01 +02:00
|
|
|
'ckeditor',
|
2015-07-12 20:01:04 +02:00
|
|
|
'haystack',
|
2015-11-30 18:14:16 +01:00
|
|
|
'taggit',
|
2015-11-26 14:46:50 +01:00
|
|
|
'welco.sources.counter',
|
2022-09-05 16:16:43 +02:00
|
|
|
'welco.sources.mail',
|
2015-09-24 15:15:10 +02:00
|
|
|
'welco.sources.phone',
|
2015-07-08 21:36:05 +02:00
|
|
|
'welco.qualif',
|
2015-07-12 15:03:01 +02:00
|
|
|
'welco.kb',
|
2015-07-18 20:33:48 +02:00
|
|
|
'welco.contacts',
|
2015-07-02 16:16:57 +02:00
|
|
|
'gadjo',
|
2017-03-07 23:30:45 +01:00
|
|
|
'xstatic.pkg.select2',
|
2018-11-07 13:49:31 +01:00
|
|
|
'rest_framework',
|
2015-07-02 10:46:33 +02:00
|
|
|
)
|
|
|
|
|
2019-12-03 14:50:42 +01:00
|
|
|
MIDDLEWARE = (
|
2015-07-02 10:46:33 +02:00
|
|
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
|
|
'django.middleware.common.CommonMiddleware',
|
|
|
|
'django.middleware.csrf.CsrfViewMiddleware',
|
|
|
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
|
|
'django.contrib.messages.middleware.MessageMiddleware',
|
|
|
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
|
|
)
|
|
|
|
|
|
|
|
ROOT_URLCONF = 'welco.urls'
|
|
|
|
|
|
|
|
WSGI_APPLICATION = 'welco.wsgi.application'
|
|
|
|
|
|
|
|
|
|
|
|
# Database
|
|
|
|
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
|
|
|
|
|
|
|
|
DATABASES = {
|
|
|
|
'default': {
|
|
|
|
'ENGINE': 'django.db.backends.sqlite3',
|
|
|
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
# Internationalization
|
|
|
|
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
|
|
|
|
2015-07-03 11:48:16 +02:00
|
|
|
LANGUAGE_CODE = 'fr-fr'
|
2015-07-02 10:46:33 +02:00
|
|
|
|
2015-07-03 11:48:16 +02:00
|
|
|
TIME_ZONE = 'Europe/Paris'
|
2015-07-02 10:46:33 +02:00
|
|
|
|
|
|
|
USE_I18N = True
|
|
|
|
|
|
|
|
USE_L10N = True
|
|
|
|
|
|
|
|
USE_TZ = True
|
|
|
|
|
2015-07-06 13:49:22 +02:00
|
|
|
LOCALE_PATHS = (os.path.join(BASE_DIR, 'welco', 'locale'),)
|
2015-07-02 10:46:33 +02:00
|
|
|
|
|
|
|
# Static files (CSS, JavaScript, Images)
|
|
|
|
# https://docs.djangoproject.com/en/1.7/howto/static-files/
|
|
|
|
|
|
|
|
STATIC_URL = '/static/'
|
2015-07-02 10:55:15 +02:00
|
|
|
|
2017-12-28 09:52:57 +01:00
|
|
|
STATICFILES_FINDERS = tuple(global_settings.STATICFILES_FINDERS) + ('gadjo.finders.XStaticFinder',)
|
2015-07-02 16:16:57 +02:00
|
|
|
|
|
|
|
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'welco', 'static'),)
|
|
|
|
|
2015-07-03 10:54:57 +02:00
|
|
|
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
|
|
|
MEDIA_URL = '/media/'
|
|
|
|
|
2017-12-28 09:52:57 +01:00
|
|
|
TEMPLATES = [
|
|
|
|
{
|
|
|
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
|
|
|
'DIRS': [
|
|
|
|
os.path.join(BASE_DIR, 'welco', 'templates'),
|
|
|
|
],
|
|
|
|
'APP_DIRS': True,
|
|
|
|
'OPTIONS': {
|
|
|
|
'context_processors': [
|
|
|
|
'django.contrib.auth.context_processors.auth',
|
|
|
|
'django.template.context_processors.debug',
|
|
|
|
'django.template.context_processors.i18n',
|
|
|
|
'django.template.context_processors.media',
|
|
|
|
'django.template.context_processors.static',
|
|
|
|
'django.template.context_processors.tz',
|
|
|
|
'django.contrib.messages.context_processors.messages',
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
]
|
2015-07-02 16:16:57 +02:00
|
|
|
|
2015-07-12 15:03:01 +02:00
|
|
|
CKEDITOR_UPLOAD_PATH = 'uploads/'
|
|
|
|
|
|
|
|
CKEDITOR_CONFIGS = {
|
|
|
|
'default': {
|
|
|
|
'toolbar_Own': [
|
|
|
|
['Source', 'Format', '-', 'Bold', 'Italic'],
|
|
|
|
['NumberedList', 'BulletedList'],
|
|
|
|
['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
|
|
|
|
['Link', 'Unlink'],
|
|
|
|
[
|
|
|
|
'Image',
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'RemoveFormat',
|
|
|
|
],
|
2021-01-11 20:10:12 +01:00
|
|
|
],
|
2015-07-12 15:03:01 +02:00
|
|
|
'toolbar': 'Own',
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2015-07-08 10:42:34 +02:00
|
|
|
# Authentication settings
|
|
|
|
try:
|
|
|
|
import mellon
|
|
|
|
except ImportError:
|
|
|
|
mellon = None
|
|
|
|
|
|
|
|
if mellon is not None:
|
|
|
|
AUTHENTICATION_BACKENDS = (
|
|
|
|
'mellon.backends.SAMLBackend',
|
|
|
|
'django.contrib.auth.backends.ModelBackend',
|
|
|
|
)
|
|
|
|
|
|
|
|
LOGIN_URL = '/login/'
|
|
|
|
LOGIN_REDIRECT_URL = '/'
|
|
|
|
LOGOUT_URL = '/logout/'
|
|
|
|
|
|
|
|
MELLON_ATTRIBUTE_MAPPING = {
|
|
|
|
'email': '{attributes[email][0]}',
|
|
|
|
'first_name': '{attributes[first_name][0]}',
|
|
|
|
'last_name': '{attributes[last_name][0]}',
|
|
|
|
}
|
|
|
|
|
|
|
|
MELLON_SUPERUSER_MAPPING = {
|
|
|
|
'is_superuser': 'true',
|
|
|
|
}
|
|
|
|
|
|
|
|
MELLON_USERNAME_TEMPLATE = '{attributes[name_id_content]}'
|
|
|
|
|
|
|
|
MELLON_IDENTITY_PROVIDERS = []
|
2015-07-02 16:16:57 +02:00
|
|
|
|
2015-07-12 20:01:04 +02:00
|
|
|
|
|
|
|
# indexing
|
|
|
|
HAYSTACK_CONNECTIONS = {
|
|
|
|
'default': {
|
|
|
|
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
|
|
|
|
'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2015-07-23 14:28:49 +02:00
|
|
|
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
|
|
|
|
|
2015-11-23 17:00:55 +01:00
|
|
|
# mapping of channel to group/role *names*
|
|
|
|
CHANNEL_ROLES = {
|
|
|
|
'mail': [],
|
|
|
|
'phone': [],
|
2015-11-26 14:46:50 +01:00
|
|
|
'counter': [],
|
2015-11-23 17:00:55 +01:00
|
|
|
}
|
2015-07-12 20:01:04 +02:00
|
|
|
|
2016-03-31 12:03:01 +02:00
|
|
|
# role allowed to manage knowledge base
|
|
|
|
KB_ROLE = None # deprecated
|
|
|
|
KB_MANAGE_ROLES = []
|
|
|
|
|
|
|
|
# roles allowed to visit knowledge base
|
|
|
|
KB_ACCESS_ROLES = []
|
2015-11-30 10:23:55 +01:00
|
|
|
|
2017-08-30 16:12:54 +02:00
|
|
|
# bottom panels (kb, contacts, qualif)
|
|
|
|
SCREEN_PANELS = ['contacts', 'qualif']
|
|
|
|
|
2015-11-26 14:46:50 +01:00
|
|
|
# useful links for counter
|
|
|
|
COUNTER_LINKS = [{'label': 'Wikipedia', 'url': 'https://fr.wikipedia.org'}]
|
|
|
|
|
2017-05-31 20:37:27 +02:00
|
|
|
# phone system
|
|
|
|
PHONE_ONE_CALL_PER_CALLEE = True
|
2017-05-31 23:45:52 +02:00
|
|
|
PHONE_MAX_CALL_DURATION = 0 # in minutes, 0 stands for infinity
|
2017-05-31 23:55:20 +02:00
|
|
|
# If user is from SSO (ie django-mellon session), consider username
|
|
|
|
# as a phone line number and take it automatically.
|
|
|
|
PHONE_AUTOTAKE_MELLON_USERNAME = False
|
2017-05-31 20:37:27 +02:00
|
|
|
|
2018-11-07 13:49:31 +01:00
|
|
|
REST_FRAMEWORK = {}
|
|
|
|
REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] = ['rest_framework.authentication.BasicAuthentication']
|
|
|
|
|
2015-07-02 10:55:15 +02:00
|
|
|
local_settings_file = os.environ.get(
|
|
|
|
'WELCO_SETTINGS_FILE', os.path.join(os.path.dirname(__file__), 'local_settings.py')
|
2021-01-11 20:10:12 +01:00
|
|
|
)
|
2015-07-02 10:55:15 +02:00
|
|
|
if os.path.exists(local_settings_file):
|
2020-01-19 19:04:15 +01:00
|
|
|
exec(open(local_settings_file).read())
|