X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/15dec706694c3afc006713be0fabb4973a6c2946..440a9c4126fbfb66c90747887b9df6a006c62f8f:/src/redakcja/settings/__init__.py diff --git a/src/redakcja/settings/__init__.py b/src/redakcja/settings/__init__.py index b9bdf5dd..dd18ae6d 100644 --- a/src/redakcja/settings/__init__.py +++ b/src/redakcja/settings/__init__.py @@ -1,9 +1,13 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import +# 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 -from redakcja.settings.defaults import * -from redakcja.localsettings import * +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__))) @@ -26,34 +30,42 @@ TEMPLATES = [ "redakcja.context_processors.settings", # this is instead of media 'django.template.context_processors.csrf', "django.template.context_processors.request", + "django.contrib.messages.context_processors.messages", ], }, }, ] -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = [ 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django_cas.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: - MIDDLEWARE_CLASSES = ( + MIDDLEWARE = [ 'debug_toolbar.middleware.DebugToolbarMiddleware', - ) + MIDDLEWARE_CLASSES + ] + MIDDLEWARE -AUTHENTICATION_BACKENDS = ( - 'django.contrib.auth.backends.ModelBackend', - 'fnpdjango.auth_backends.AttrCASBackend', -) +if CAS_SERVER_URL: + AUTHENTICATION_BACKENDS = ( + 'django.contrib.auth.backends.ModelBackend', + 'django_cas_ng.backends.CASBackend', + ) ROOT_URLCONF = 'redakcja.urls' @@ -66,15 +78,15 @@ INSTALLED_APPS = ( 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.admindocs', - 'raven.contrib.django.raven_compat', 'sorl.thumbnail', 'fnp_django_pagination', 'django_gravatar', 'fileupload', - 'kombu.transport.django', 'pipeline', 'fnpdjango', + 'django_cas_ng', + 'bootstrap4', 'catalogue', 'cover', @@ -91,10 +103,6 @@ if DEBUG: LOGIN_REDIRECT_URL = '/documents/user' -CELERY_EAGER_PROPAGATES_EXCEPTIONS = True -CELERY_SEND_TASK_ERROR_EMAILS = True -CELERY_ACCEPT_CONTENT = ['pickle'] # Remove when all tasks jsonable. - MIN_COVER_SIZE = (915, 1270) STATICFILES_FINDERS = ( @@ -108,6 +116,9 @@ STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage' PIPELINE = { 'CSS_COMPRESSOR': None, 'JS_COMPRESSOR': None, + 'COMPILERS': ( + 'libsasscompiler.LibSassCompiler', + ), # CSS and JS files to compress 'STYLESHEETS': { @@ -119,9 +130,11 @@ PIPELINE = { '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', }, @@ -130,8 +143,8 @@ PIPELINE = { 'css/filelist.css', ), 'output_filename': 'compressed/catalogue_styles.css', - }, - 'book': { + }, + 'book': { 'source_filenames': ( 'css/book.css', ), @@ -139,7 +152,6 @@ PIPELINE = { }, 'book_list': { 'source_filenames': ( - 'contextmenu/jquery.contextMenu.css', 'css/book_list.css', ), 'output_filename': 'compressed/book_list.css', @@ -150,7 +162,6 @@ PIPELINE = { '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', @@ -159,10 +170,12 @@ PIPELINE = { # wiki scripts '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 @@ -181,12 +194,10 @@ PIPELINE = { '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', @@ -195,6 +206,7 @@ PIPELINE = { # wiki scripts 'js/wiki_img/wikiapi.js', + 'wiki/js/themes.js', # base UI 'js/wiki_img/base.js', @@ -213,7 +225,7 @@ PIPELINE = { 'js/wiki/view_column_diff.js', ), 'output_filename': 'compressed/detail_img_scripts.js', - }, + }, 'catalogue': { 'source_filenames': ( 'js/catalogue/catalogue.js', @@ -221,8 +233,8 @@ PIPELINE = { 'email_mangler/email_mangler.js', ), 'output_filename': 'compressed/catalogue_scripts.js', - }, - 'book': { + }, + 'book': { 'source_filenames': ( 'js/book_text/jquery.eventdelegation.js', 'js/book_text/jquery.scrollto.js', @@ -233,11 +245,23 @@ PIPELINE = { }, 'book_list': { 'source_filenames': ( - 'contextmenu/jquery.ui.position.js', - 'contextmenu/jquery.contextMenu.js', 'js/catalogue/book_list.js', ), 'output_filename': 'compressed/book_list.js', } } } + + +SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer' + + +try: + SENTRY_DSN +except NameError: + pass +else: + sentry_sdk.init( + dsn=SENTRY_DSN, + integrations=[DjangoIntegration()] + )