f1ddd16dc6
- remove motion version - migrations for versions and change recommendations - Redone motion comments. Wording changed from comment fields to comment sections - fixed test order, tests are not atomic - introduce get_group_model. Just use OpenSlides Groups and not the django's ones.
141 lines
3.1 KiB
Python
141 lines
3.1 KiB
Python
import os
|
|
|
|
from openslides.utils.plugins import collect_plugins
|
|
|
|
|
|
MODULE_DIR = os.path.realpath(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
# Application definition
|
|
|
|
INSTALLED_APPS = [
|
|
'openslides.core',
|
|
'openslides.users',
|
|
'django.contrib.auth',
|
|
'django.contrib.contenttypes',
|
|
'django.contrib.sessions',
|
|
'django.contrib.staticfiles',
|
|
'rest_framework',
|
|
'channels',
|
|
'openslides.agenda',
|
|
'openslides.topics',
|
|
'openslides.motions',
|
|
'openslides.assignments',
|
|
'openslides.mediafiles',
|
|
]
|
|
|
|
INSTALLED_PLUGINS = collect_plugins() # Adds all automaticly collected plugins
|
|
|
|
MIDDLEWARE = [
|
|
'django.middleware.security.SecurityMiddleware',
|
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
|
'django.middleware.locale.LocaleMiddleware',
|
|
'django.middleware.common.CommonMiddleware',
|
|
'django.middleware.csrf.CsrfViewMiddleware',
|
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
|
'openslides.utils.autoupdate.AutoupdateBundleMiddleware',
|
|
]
|
|
|
|
ROOT_URLCONF = 'openslides.urls'
|
|
|
|
ALLOWED_HOSTS = ['*']
|
|
|
|
TEMPLATES = [
|
|
{
|
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
|
'DIRS': [],
|
|
'APP_DIRS': True,
|
|
},
|
|
]
|
|
|
|
# Email
|
|
# https://docs.djangoproject.com/en/1.10/topics/email/
|
|
|
|
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
|
EMAIL_TIMEOUT = 5 # Timeout in seconds for blocking operations like the connection attempt
|
|
|
|
# Internationalization
|
|
# https://docs.djangoproject.com/en/1.10/topics/i18n/
|
|
|
|
LANGUAGE_CODE = 'en'
|
|
|
|
LANGUAGES = (
|
|
('en', 'English'),
|
|
('de', 'Deutsch'),
|
|
('fr', 'Français'),
|
|
('es', 'Español'),
|
|
('pt', 'Português'),
|
|
('cs', 'Český'),
|
|
('ru', 'русский'),
|
|
)
|
|
|
|
TIME_ZONE = 'UTC'
|
|
|
|
USE_I18N = True
|
|
|
|
USE_L10N = True
|
|
|
|
USE_TZ = True
|
|
|
|
LOCALE_PATHS = [
|
|
os.path.join(MODULE_DIR, 'locale'),
|
|
]
|
|
|
|
|
|
# Static files (CSS, JavaScript, Images)
|
|
# https://docs.djangoproject.com/en/1.10/howto/static-files/
|
|
|
|
STATIC_URL = '/static/'
|
|
|
|
STATICFILES_DIRS = [
|
|
os.path.join(MODULE_DIR, 'static'),
|
|
]
|
|
|
|
|
|
# Sessions and user authentication
|
|
# https://docs.djangoproject.com/en/1.10/topics/http/sessions/
|
|
# https://docs.djangoproject.com/en/1.10/topics/auth/
|
|
|
|
AUTH_USER_MODEL = 'users.User'
|
|
|
|
AUTH_GROUP_MODEL = 'users.Group'
|
|
|
|
SESSION_COOKIE_NAME = 'OpenSlidesSessionID'
|
|
|
|
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
|
|
|
|
CSRF_COOKIE_NAME = 'OpenSlidesCsrfToken'
|
|
|
|
CSRF_COOKIE_AGE = None
|
|
|
|
PASSWORD_HASHERS = [
|
|
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
|
|
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
|
|
'django.contrib.auth.hashers.Argon2PasswordHasher',
|
|
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
|
|
'django.contrib.auth.hashers.BCryptPasswordHasher',
|
|
]
|
|
|
|
|
|
# Files
|
|
# https://docs.djangoproject.com/en/1.10/topics/files/
|
|
|
|
MEDIA_URL = '/media/'
|
|
|
|
|
|
# Django Channels
|
|
# http://channels.readthedocs.io/en/latest/
|
|
|
|
ASGI_APPLICATION = 'openslides.routing.application'
|
|
|
|
CHANNEL_LAYERS = {
|
|
'default': {
|
|
'BACKEND': 'channels.layers.InMemoryChannelLayer',
|
|
},
|
|
}
|
|
|
|
|
|
# Enable updating the last_login field for users on every login.
|
|
ENABLE_LAST_LOGIN_FIELD = False
|