Project

General

Profile

Download (11.5 KB) Statistics
| Branch: | Tag: | Revision:
ef2de305 Frédéric Péters
# -*- coding: utf-8 -*-

333a39ca Benjamin Dauvergne
# Django settings for calebasse project.
111b2d34 Benjamin Dauvergne
import os
333a39ca Benjamin Dauvergne
from logging.handlers import SysLogHandler
111b2d34 Benjamin Dauvergne
854feaf6 Jérôme Schneider
PROJECT_PATH = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'calebasse')
111b2d34 Benjamin Dauvergne
DEBUG = True
ebbef814 Jérôme Schneider
TEMPLATE_DEBUG = True
111b2d34 Benjamin Dauvergne
ADMINS = (
# ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
333a39ca Benjamin Dauvergne
'NAME': os.path.join(PROJECT_PATH, 'calebasse.sqlite3'), # Or path to database file if using sqlite3.
111b2d34 Benjamin Dauvergne
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Europe/Paris'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'fr-fr'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True
854feaf6 Jérôme Schneider
FORMAT_MODULE_PATH = 'calebasse.formats'
111b2d34 Benjamin Dauvergne
# If you set this to False, Django will not use timezone-aware datetimes.
e39efb4a Jérôme Schneider
USE_TZ = False
111b2d34 Benjamin Dauvergne
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
c9736177 Benjamin Dauvergne
STATIC_ROOT = os.path.join(os.path.join(PROJECT_PATH, '..'), 'static')
111b2d34 Benjamin Dauvergne
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
c9736177 Benjamin Dauvergne
os.path.join(PROJECT_PATH, 'static'),
111b2d34 Benjamin Dauvergne
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'ct(a@ny^_)8v-^)jkdzbktqg6ajfn6y!zdjum^(f_o!h0jeotq'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
85657e39 Thomas NOEL
#'debug_toolbar.middleware.DebugToolbarMiddleware',
49507b49 Mikaël Ates
'calebasse.middleware.request.GlobalRequestMiddleware',
111b2d34 Benjamin Dauvergne
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
bc351677 Benjamin Dauvergne
'django.middleware.transaction.TransactionMiddleware',
'reversion.middleware.RevisionMiddleware',
572bb040 Jérôme Schneider
# Entr'ouvert wsgi middleware to expose version
'entrouvert.djommon.middleware.VersionMiddleware',
111b2d34 Benjamin Dauvergne
)

333a39ca Benjamin Dauvergne
ROOT_URLCONF = 'calebasse.urls'
111b2d34 Benjamin Dauvergne
# Python dotted path to the WSGI application used by Django's runserver.
333a39ca Benjamin Dauvergne
WSGI_APPLICATION = 'calebasse.wsgi.application'
111b2d34 Benjamin Dauvergne
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
c9736177 Benjamin Dauvergne
os.path.join(PROJECT_PATH, "templates")
111b2d34 Benjamin Dauvergne
)

b9390ab1 Benjamin Dauvergne
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.core.context_processors.request",
"django.contrib.messages.context_processors.messages")

d384f3c9 Benjamin Dauvergne
FIXTURE_DIRS = (
os.path.join(PROJECT_PATH, 'fixtures'),
)

111b2d34 Benjamin Dauvergne
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'reversion',
'south',
42670aa4 Jérôme Schneider
'django.contrib.admin',
7b28c0b2 Benjamin Dauvergne
'ajax_select',
85657e39 Thomas NOEL
#'debug_toolbar',
7f9269be Benjamin Dauvergne
'widget_tweaks',
111b2d34 Benjamin Dauvergne
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
ba34dc24 Jérôme Schneider
'calebasse.agenda',
1097fd0a Benjamin Dauvergne
'calebasse.dossiers',
'calebasse.actes',
e59e5bc3 Benjamin Dauvergne
'calebasse.facturation',
1097fd0a Benjamin Dauvergne
'calebasse.personnes',
e59e5bc3 Benjamin Dauvergne
'calebasse.ressources',
330dad49 Mikaël Ates
'calebasse.statistics',
49507b49 Mikaël Ates
'calebasse.middleware.request',
f528653d Benjamin Dauvergne
'south',
111b2d34 Benjamin Dauvergne
)

92ea6229 Jérôme Schneider
INTERNAL_IPS=('127.0.0.1',)
5cf8edcd Jérôme Schneider
DEBUG_TOOLBAR_CONFIG = {
'INTERCEPT_REDIRECTS': False,
}
92ea6229 Jérôme Schneider
111b2d34 Benjamin Dauvergne
# A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
'version': 1,
67351017 Jérôme Schneider
'disable_existing_loggers': True,
111b2d34 Benjamin Dauvergne
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
b39b5fe2 Mikaël Ates
},
},
'formatters': {
'verbose': {
'format': '[%(asctime)s] %(levelname)-8s %(name)s.%(message)s',
'datefmt': '%Y-%m-%d %a %H:%M:%S'
},
67351017 Jérôme Schneider
'syslog': {
'format': 'calebasse (pid=%(process)d) %(levelname)s %(name)s: %(message)s',
},
111b2d34 Benjamin Dauvergne
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
333a39ca Benjamin Dauvergne
},
b39b5fe2 Mikaël Ates
'console': {
db074db2 Jérôme Schneider
'level':'INFO',
b39b5fe2 Mikaël Ates
'class':'logging.StreamHandler',
'formatter': 'verbose',
},
67351017 Jérôme Schneider
'syslog': {
'level': 'DEBUG',
'class': 'entrouvert.logging.handlers.SysLogHandler',
'formatter': 'syslog',
333a39ca Benjamin Dauvergne
'facility': SysLogHandler.LOG_LOCAL0,
'address': '/dev/log',
67351017 Jérôme Schneider
'max_length': 999,
},
111b2d34 Benjamin Dauvergne
},
'loggers': {
67351017 Jérôme Schneider
'django.db.backends': {
'level': 'ERROR',
'handlers': ['console'],
'propagate': False,
111b2d34 Benjamin Dauvergne
},
67351017 Jérôme Schneider
'': {
d02ed08a Jérôme Schneider
'handlers': ['syslog'],
67351017 Jérôme Schneider
'level': 'DEBUG' if DEBUG else 'INFO',
'propagate': True,
}
},
111b2d34 Benjamin Dauvergne
}
ba34dc24 Jérôme Schneider
7b28c0b2 Benjamin Dauvergne
# AJAX Select
AJAX_LOOKUP_CHANNELS = {
# pass a dict with the model and the field to search against
48a85f96 Jérôme Schneider
'worker' : ('calebasse.personnes.lookup', 'WorkerLookup'),
'intervenant' : ('calebasse.personnes.lookup', 'IntervenantLookup'),
4376fbf4 Jérôme Schneider
#'patientrecord' : {'model':'dossiers.PatientRecord', 'search_field':'display_name'}
4aa8bb1d Jérôme Schneider
#'coordinators' : {'model':'dossiers.PatientRecord', 'search_field':'display_name'}
677c2c8d Jérôme Schneider
'patientrecord' : ('calebasse.dossiers.lookups', 'PatientRecordLookup'),
0206fef9 Mikaël Ates
'school' : {'model':'ressources.School', 'search_field':'name'},
677c2c8d Jérôme Schneider
'addresses' : ('calebasse.dossiers.lookups', 'PatientAddressLookup'),
0ef0e3d1 Frédéric Péters
'worker-or-group' : ('calebasse.ressources.lookups', 'WorkerOrGroupLookup'),
b7befbb6 Mikaël Ates
'all-worker-or-group' : ('calebasse.ressources.lookups', 'AllWorkerOrGroupLookup'),
7b28c0b2 Benjamin Dauvergne
}
14bd6fad Benjamin Dauvergne
# Default URL after login
LOGIN_REDIRECT_URL = '/'
68d5a646 Frédéric Péters
67351017 Jérôme Schneider
# Sentry / raven configuration
# You need to overload this option in the local_settings.py
d02ed08a Jérôme Schneider
RAVEN_CONFIG = None
67351017 Jérôme Schneider
68d5a646 Frédéric Péters
# Base directory for generated patient files
146c7d23 Mikaël Ates
PATIENT_FILES_BASE_DIRECTORY = None
23937808 Frédéric Péters
ac0cd457 Frédéric Péters
# Client side base directory for generated patient files
9123ecac Jérôme Schneider
CLIENT_SIDE_PATIENT_FILES_BASE_DIRECTORY = None
ac0cd457 Frédéric Péters
ef2de305 Frédéric Péters
# Patient subdirectories
PATIENT_SUBDIRECTORIES = (
u'Assistante sociale',
u'Consultation',
u'Courriers',
u'Demande',
u'Demandes prises en charge',
b3b3c171 Mikaël Ates
u'Educateur spécialisé',
ef2de305 Frédéric Péters
u'Ergothérapie',
u'Groupe',
u'Kinésithérapie',
u'Logico-mathématiques',
u'Neuro-psychologie',
u'Orientation',
u'Orthophonie',
u'Psychologie',
u'Psychomotricité',
u'Psychopédagogue',
u'Synthèses',
u'TCC',
)

23937808 Frédéric Péters
# RTF templates directory
146c7d23 Mikaël Ates
RTF_TEMPLATES_DIRECTORY = None
364eecbe Mikaël Ates
# Use patient home dictrory for RTF files generated
# PATIENT_FILES_BASE_DIRECTORY must be set to work
USE_PATIENT_FILE_RTF_REPOSITORY_DIRECTORY = False
# RTF files generated directory
RTF_REPOSITORY_DIRECTORY = None
93844deb Mikaël Ates
# Invoicing file saving directory
INVOICING_DIRECTORY = None
d6340428 Thomas NOEL
f3d5863a Mikaël Ates
#CSV_ENCODING = 'cp1252' #For windows : windows-1252/Winlatin1
#CSVPROFILE = {\
# 'delimiter' : ';',
# 'quotechar' : '"',
# 'doublequote' : True
# 'skipinitialspace' : False
# 'lineterminator' : '\r\n'
# 'quoting' : csv.QUOTE_MINIMAL
#}

d6340428 Thomas NOEL
# IRIS/B2 transmission
# B2_TRANSMISSION = {
# 'output_directory': '/var/lib/calebasse/B2/',
# # B2 informations
# 'nom': 'CMPP FOOBAR', # mandatory
# 'numero_emetteur': '123456789', # mandatory
# 'norme': 'CP ',
# 'type_emetteur': 'TE',
# 'application': 'TR',
# 'categorie': '189',
# 'statut': '60',
# 'mode_tarif': '05',
# 'message': 'ENTROUVERT 0143350135 CALEBASSE 1307',
# # SMTP configuration
# 'smtp_from': 'transmission@domain.net',   # mandatory
# 'smtp_host': '127.0.0.1',
# 'smtp_port': 25,
# 'smtp_login': '',
# 'smtp_password': '',
# # delay between two mails, in seconds, or None
# 'smtp_delay': None,
# }
854feaf6 Jérôme Schneider
try:
from local_settings import *
except ImportError:
b7befbb6 Mikaël Ates
print """
854feaf6 Jérôme Schneider
-------------------------------------------------------------------------
You need to create a local_settings.py file which needs to contain at least
database connection information.
b7befbb6 Mikaël Ates
854feaf6 Jérôme Schneider
Copy local_settings_example.py to local_settings.py and edit it.
-------------------------------------------------------------------------
"""
b7befbb6 Mikaël Ates
import sys
854feaf6 Jérôme Schneider
sys.exit(1)

d02ed08a Jérôme Schneider
if RAVEN_CONFIG:
INSTALLED_APPS += ('raven.contrib.django.raven_compat', )
LOGGING['handlers']['sentry'] = {
'level': 'ERROR',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
}
LOGGING['loggers']['raven'] = {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
}
LOGGING['loggers']['sentry.errors'] = {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
}
LOGGING['loggers']['']['handlers'].append('sentry')