158 lines
4.8 KiB
Python
158 lines
4.8 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
openslides.global_settings
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
OpenSlides default settings.
|
||
|
||
:copyright: 2011–2013 by OpenSlides team, see AUTHORS.
|
||
:license: GNU GPL, see LICENSE for more details.
|
||
"""
|
||
|
||
import os
|
||
from openslides.utils.main import filesystem2unicode
|
||
|
||
|
||
SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
|
||
|
||
AUTHENTICATION_BACKENDS = (
|
||
'django.contrib.auth.backends.ModelBackend',
|
||
'openslides.utils.auth.AnonymousAuth',)
|
||
|
||
LOGIN_URL = '/login/'
|
||
LOGIN_REDIRECT_URL = '/'
|
||
|
||
SESSION_COOKIE_NAME = 'OpenSlidesSessionID'
|
||
|
||
ugettext = lambda s: s
|
||
|
||
LANGUAGES = (
|
||
('de', ugettext('German')),
|
||
('en', ugettext('English')),
|
||
('fr', ugettext('French')),
|
||
('cs', ugettext('Czech')),
|
||
('pt', ugettext('Portuguese')),
|
||
)
|
||
|
||
# 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
|
||
|
||
LOCALE_PATHS = (
|
||
filesystem2unicode(os.path.join(SITE_ROOT, 'locale')),
|
||
)
|
||
|
||
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
|
||
# trailing slash if there is a path component (optional in other cases).
|
||
# Examples: "http://media.lawrence.com", "http://example.com/media/"
|
||
MEDIA_URL = '/media/'
|
||
|
||
# Absolute path to the directory that holds static media from ``collectstatic``
|
||
# Example: "/home/media/static.lawrence.com/"
|
||
STATIC_ROOT = filesystem2unicode(os.path.join(SITE_ROOT, '../collected-site-static'))
|
||
|
||
# URL that handles the media served from STATIC_ROOT. Make sure to use a
|
||
# trailing slash if there is a path component (optional in other cases).
|
||
# Examples: "http://static.lawrence.com", "http://example.com/static/"
|
||
STATIC_URL = '/static/'
|
||
|
||
# Additional directories containing static files (not application specific)
|
||
# Examples: "/home/media/lawrence.com/extra-static/"
|
||
STATICFILES_DIRS = (
|
||
filesystem2unicode(os.path.join(SITE_ROOT, 'static')),
|
||
)
|
||
|
||
#XXX: Note this setting (as well as our workaround finder)
|
||
# can be removed again once django-bug-#18404 has been resolved
|
||
STATICFILES_FINDERS = (
|
||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||
'openslides.utils.staticfiles.AppDirectoriesFinder',
|
||
)
|
||
|
||
MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage'
|
||
|
||
# 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',
|
||
)
|
||
|
||
MIDDLEWARE_CLASSES = (
|
||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||
'django.middleware.locale.LocaleMiddleware',
|
||
'django.middleware.common.CommonMiddleware',
|
||
'django.middleware.csrf.CsrfViewMiddleware',
|
||
'openslides.participant.middleware.AuthenticationMiddleware',
|
||
'django.contrib.messages.middleware.MessageMiddleware',
|
||
'openslides.config.middleware.ConfigCacheMiddleware',
|
||
)
|
||
|
||
ROOT_URLCONF = 'openslides.urls'
|
||
|
||
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.
|
||
filesystem2unicode(os.path.join(SITE_ROOT, 'templates')),
|
||
)
|
||
|
||
INSTALLED_APPS = (
|
||
'django.contrib.auth',
|
||
'django.contrib.contenttypes',
|
||
'django.contrib.sessions',
|
||
'django.contrib.messages',
|
||
'django.contrib.staticfiles',
|
||
'django.contrib.humanize',
|
||
'mptt',
|
||
'haystack', # full-text-search
|
||
'openslides.poll',
|
||
'openslides.core',
|
||
'openslides.account',
|
||
'openslides.projector',
|
||
'openslides.agenda',
|
||
'openslides.motion',
|
||
'openslides.assignment',
|
||
'openslides.participant',
|
||
'openslides.mediafile',
|
||
'openslides.config',
|
||
)
|
||
|
||
TEMPLATE_CONTEXT_PROCESSORS = (
|
||
'django.contrib.auth.context_processors.auth',
|
||
'django.contrib.messages.context_processors.messages',
|
||
'django.core.context_processors.request',
|
||
'django.core.context_processors.i18n',
|
||
'django.core.context_processors.static',
|
||
'openslides.utils.auth.anonymous_context_additions',
|
||
)
|
||
|
||
CACHES = {
|
||
'default': {
|
||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
||
'LOCATION': 'openslidecache'
|
||
}
|
||
}
|
||
|
||
TEST_RUNNER = 'discover_runner.DiscoverRunner'
|
||
TEST_DISCOVER_TOP_LEVEL = os.path.dirname(os.path.dirname(__file__))
|
||
|
||
# Hosts/domain names that are valid for this site; required if DEBUG is False
|
||
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
|
||
ALLOWED_HOSTS = ['*']
|
||
|
||
# Use Haystack with Whoosh for full text search
|
||
HAYSTACK_CONNECTIONS = {
|
||
'default': {
|
||
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine'
|
||
},
|
||
}
|
||
|
||
# Haystack updates search index after each save/delete action by apps
|
||
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
|