+# This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
import os.path
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
from .defaults import *
from ..localsettings import *
+DATA_UPLOAD_MAX_MEMORY_SIZE = 20000000
+
PROJECT_ROOT = os.path.realpath(os.path.dirname(os.path.dirname(__file__)))
STATICFILES_DIRS = [
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django_cas_ng.middleware.CASMiddleware',
+ ]
+
+if CAS_SERVER_URL:
+ MIDDLEWARE.append(
+ 'django_cas_ng.middleware.CASMiddleware',
+ )
+MIDDLEWARE += [
'django.contrib.admindocs.middleware.XViewMiddleware',
'fnp_django_pagination.middleware.PaginationMiddleware',
- 'maintenancemode.middleware.MaintenanceModeMiddleware',
]
if DEBUG:
'debug_toolbar.middleware.DebugToolbarMiddleware',
] + MIDDLEWARE
-AUTHENTICATION_BACKENDS = (
- 'django.contrib.auth.backends.ModelBackend',
- 'django_cas_ng.backends.CASBackend',
-)
+if CAS_SERVER_URL:
+ AUTHENTICATION_BACKENDS = (
+ 'django.contrib.auth.backends.ModelBackend',
+ 'django_cas_ng.backends.CASBackend',
+ )
ROOT_URLCONF = 'redakcja.urls'
INSTALLED_APPS = (
+ 'modeltranslation',
+
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
+ 'admin_numeric_filter',
'django.contrib.admin',
'django.contrib.admindocs',
'pipeline',
'fnpdjango',
'django_cas_ng',
+ 'bootstrap4',
+ 'rest_framework',
+ 'django_filters',
+ 'admin_ordering',
+ 'redakcja.api',
'catalogue',
+ 'depot',
+ 'documents',
'cover',
'dvcs',
'wiki',
'toolbar',
'apiclient',
'email_mangler',
+ 'wlxml.apps.WlxmlConfig',
+ 'alerts',
+ 'team',
)
if DEBUG:
INSTALLED_APPS += ('debug_toolbar',)
+LOCALE_PATHS = [
+ PROJECT_ROOT + "/locale-contrib",
+]
+
LOGIN_REDIRECT_URL = '/documents/user'
MIN_COVER_SIZE = (915, 1270)
+LEGIMI_SMALL_WORDS = 2000
+LEGIMI_BIG_WORDS = 10000
+LEGIMI_SMALL_PRICE = 7
+LEGIMI_BIG_PRICE = 20
+
+THUMBNAIL_PRESERVE_FORMAT = True
+
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder',
)
-STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
+STATICFILES_STORAGE = 'pipeline.storage.PipelineManifestStorage'
PIPELINE = {
'CSS_COMPRESSOR': None,
'JS_COMPRESSOR': None,
+ 'COMPILERS': (
+ 'libsasscompiler.LibSassCompiler',
+ ),
# CSS and JS files to compress
'STYLESHEETS': {
'detail': {
'source_filenames': (
+ 'css/html.scss',
'css/master.css',
'css/toolbar.css',
'css/gallery.css',
'css/history.css',
'css/summary.css',
- 'css/html.css',
- 'css/jquery.autocomplete.css',
'css/imgareaselect-default.css',
'css/dialogs.css',
+
+ 'wiki/scss/splitter.scss',
+ 'wiki/scss/visual.scss'
),
'output_filename': 'compressed/detail_styles.css',
},
- 'catalogue': {
+ 'documents': {
'source_filenames': (
'css/filelist.css',
),
- 'output_filename': 'compressed/catalogue_styles.css',
- },
- 'book': {
+ 'output_filename': 'compressed/documents_styles.css',
+ },
+ 'book': {
'source_filenames': (
'css/book.css',
),
},
'book_list': {
'source_filenames': (
- 'contextmenu/jquery.contextMenu.css',
'css/book_list.css',
),
'output_filename': 'compressed/book_list.css',
'detail': {
'source_filenames': (
# libraries
- 'js/lib/jquery/jquery.autocomplete.js',
'js/lib/jquery/jquery.blockui.js',
'js/lib/jquery/jquery.elastic.js',
'js/lib/jquery/jquery.xmlns.js',
'js/slugify.js',
# wiki scripts
+ 'js/wiki/caret.js',
'js/wiki/wikiapi.js',
+ 'wiki/js/themes.js',
'js/wiki/xslt.js',
# base UI
'js/wiki/base.js',
+ 'wiki/js/sidebar-perspective.js',
'js/wiki/toolbar.js',
# dialogs
'js/wiki/view_editor_wysiwyg.js',
'js/wiki/view_gallery.js',
'js/wiki/view_annotations.js',
+ 'js/wiki/view_properties.js',
'js/wiki/view_search.js',
'js/wiki/view_column_diff.js',
),
'output_filename': 'compressed/detail_scripts.js',
- },
+ },
'wiki_img': {
'source_filenames': (
# libraries
- 'js/lib/jquery-1.4.2.min.js',
- 'js/lib/jquery/jquery.autocomplete.js',
'js/lib/jquery/jquery.blockui.js',
'js/lib/jquery/jquery.elastic.js',
'js/lib/jquery/jquery.imgareaselect.js',
# wiki scripts
'js/wiki_img/wikiapi.js',
+ 'wiki/js/themes.js',
# base UI
'js/wiki_img/base.js',
'js/wiki/view_column_diff.js',
),
'output_filename': 'compressed/detail_img_scripts.js',
- },
- 'catalogue': {
+ },
+ 'documents': {
'source_filenames': (
- 'js/catalogue/catalogue.js',
+ 'js/documents/documents.js',
'js/slugify.js',
'email_mangler/email_mangler.js',
),
- 'output_filename': 'compressed/catalogue_scripts.js',
- },
- 'book': {
+ 'output_filename': 'compressed/documents_scripts.js',
+ },
+ 'book': {
'source_filenames': (
+ 'js/lib/jquery/jquery.cycle2.min.js',
'js/book_text/jquery.eventdelegation.js',
'js/book_text/jquery.scrollto.js',
'js/book_text/jquery.highlightfade.js',
},
'book_list': {
'source_filenames': (
- 'contextmenu/jquery.ui.position.js',
- 'contextmenu/jquery.contextMenu.js',
- 'js/catalogue/book_list.js',
+ 'js/documents/book_list.js',
),
'output_filename': 'compressed/book_list.js',
}
}
+DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
+
+
+SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
+
+
+REST_FRAMEWORK = {
+ 'DEFAULT_AUTHENTICATION_CLASSES': [
+ 'rest_framework.authentication.SessionAuthentication',
+ 'redakcja.api.auth.TokenAuthentication',
+ ],
+ 'DEFAULT_FILTER_BACKENDS': [
+ 'django_filters.rest_framework.DjangoFilterBackend',
+ 'rest_framework.filters.SearchFilter',
+ ]
+}
+
+
+LANGUAGES = [
+ ('pl', 'polski'),
+ ('de', 'Deutsch'),
+ ('lt', 'lietuvių'),
+]
+
+
+TEST_INTEGRATION = False
+
+
try:
SENTRY_DSN
except NameError:
dsn=SENTRY_DSN,
integrations=[DjangoIntegration()]
)
-