X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/7f4982393567a5f6827c12a089363d91338f9f13..786505648a5cb20e335a51a1e69555a868c33332:/settings.py?ds=sidebyside diff --git a/settings.py b/settings.py index 61c47a8..f1c6f6b 100644 --- a/settings.py +++ b/settings.py @@ -15,6 +15,7 @@ TEMPLATE_LOADERS = [ ] MIDDLEWARE_CLASSES = [ + 'forum.middleware.django_cookies.CookiePreHandlerMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'forum.middleware.extended_user.ExtendedUser', @@ -22,9 +23,22 @@ MIDDLEWARE_CLASSES = [ 'forum.middleware.request_utils.RequestUtils', 'forum.middleware.cancel.CancelActionMiddleware', 'forum.middleware.admin_messages.AdminMessagesMiddleware', - #'recaptcha_django.middleware.ReCaptchaMiddleware', 'django.middleware.transaction.TransactionMiddleware', + 'forum.middleware.django_cookies.CookiePostHandlerMiddleware', ] +# Backwards compatibility. If we fail to import the CSRF middle-ware from the location +# where it is supposed to be, we add the old middle-ware classes to the classes list. +try: + from django.middleware.csrf import CsrfViewMiddleware + MIDDLEWARE_CLASSES = [ + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.middleware.csrf.CsrfResponseMiddleware', + ] + MIDDLEWARE_CLASSES +except ImportError: + MIDDLEWARE_CLASSES = [ + 'django.contrib.csrf.middleware.CsrfViewMiddleware', + 'django.contrib.csrf.middleware.CsrfResponseMiddleware', + ] + MIDDLEWARE_CLASSES TEMPLATE_CONTEXT_PROCESSORS = [ 'django.core.context_processors.request', @@ -72,17 +86,25 @@ for path in app_url_split[1].split('/')[1:]: if FORCE_SCRIPT_NAME.endswith('/'): FORCE_SCRIPT_NAME = FORCE_SCRIPT_NAME[:-1] -from forum import modules +#Module system initialization +MODULES_PACKAGE = 'forum_modules' +MODULES_FOLDER = os.path.join(SITE_SRC_ROOT, MODULES_PACKAGE) -modules.init_modules_engine(SITE_SRC_ROOT, DISABLED_MODULES) +MODULE_LIST = filter(lambda m: getattr(m, 'CAN_USE', True), [ + __import__('forum_modules.%s' % f, globals(), locals(), ['forum_modules']) + for f in os.listdir(MODULES_FOLDER) + if os.path.isdir(os.path.join(MODULES_FOLDER, f)) and + os.path.exists(os.path.join(MODULES_FOLDER, "%s/__init__.py" % f)) and + not f in DISABLED_MODULES +]) [MIDDLEWARE_CLASSES.extend( ["%s.%s" % (m.__name__, mc) for mc in getattr(m, 'MIDDLEWARE_CLASSES', [])] - ) for m in modules.MODULE_LIST] + ) for m in MODULE_LIST] [TEMPLATE_LOADERS.extend( ["%s.%s" % (m.__name__, tl) for tl in getattr(m, 'TEMPLATE_LOADERS', [])] - ) for m in modules.MODULE_LIST] + ) for m in MODULE_LIST] INSTALLED_APPS = [