2020-03-09 21:13:11 +00:00
|
|
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
from django.utils.translation import gettext_lazy as _
|
2020-03-07 23:24:33 +00:00
|
|
|
import re
|
2020-03-09 21:13:11 +00:00
|
|
|
|
2020-01-27 20:49:02 +00:00
|
|
|
from .base import *
|
|
|
|
|
2020-03-07 21:28:59 +00:00
|
|
|
|
2020-01-29 17:21:46 +00:00
|
|
|
def read_env():
|
|
|
|
"""Pulled from Honcho code with minor updates, reads local default
|
|
|
|
environment variables from a .env file located in the project root
|
|
|
|
directory.
|
|
|
|
"""
|
|
|
|
try:
|
|
|
|
with open('.env') as f:
|
|
|
|
content = f.read()
|
|
|
|
except IOError:
|
|
|
|
content = ''
|
|
|
|
for line in content.splitlines():
|
|
|
|
m1 = re.match(r'\A([A-Za-z_0-9]+)=(.*)\Z', line)
|
|
|
|
if m1:
|
|
|
|
key, val = m1.group(1), m1.group(2)
|
|
|
|
m2 = re.match(r"\A'(.*)'\Z", val)
|
|
|
|
if m2:
|
|
|
|
val = m2.group(1)
|
|
|
|
m3 = re.match(r'\A"(.*)"\Z', val)
|
|
|
|
if m3:
|
|
|
|
val = re.sub(r'\\(.)', r'\1', m3.group(1))
|
|
|
|
os.environ.setdefault(key, val)
|
|
|
|
|
2020-03-07 21:28:59 +00:00
|
|
|
|
2020-01-29 17:21:46 +00:00
|
|
|
read_env()
|
|
|
|
|
2020-01-27 20:49:02 +00:00
|
|
|
app_stage = os.environ.get('DJANGO_APP_STAGE', 'dev')
|
|
|
|
if app_stage == 'prod':
|
|
|
|
from .production import *
|
|
|
|
else:
|
|
|
|
from .development import *
|
2020-01-28 09:28:29 +00:00
|
|
|
|
2020-02-18 12:03:58 +00:00
|
|
|
try:
|
2020-03-08 22:03:35 +00:00
|
|
|
#in secrets.py defines everything you want
|
2020-02-18 12:03:58 +00:00
|
|
|
from .secrets import *
|
2020-03-20 19:40:26 +00:00
|
|
|
INSTALLED_APPS += OPTIONAL_APPS
|
|
|
|
|
2020-02-18 12:03:58 +00:00
|
|
|
except ImportError:
|
|
|
|
pass
|
|
|
|
|
2020-03-08 22:03:35 +00:00
|
|
|
if "cas" in INSTALLED_APPS:
|
|
|
|
MIDDLEWARE += ['cas.middleware.CASMiddleware']
|
|
|
|
# CAS Settings
|
2020-03-11 14:13:34 +00:00
|
|
|
CAS_SERVER_URL = "https://" + os.getenv("NOTE_URL", "note.example.com") + "/cas/"
|
2020-03-08 22:03:35 +00:00
|
|
|
CAS_AUTO_CREATE_USER = False
|
|
|
|
CAS_LOGO_URL = "/static/img/Saperlistpopette.png"
|
|
|
|
CAS_FAVICON_URL = "/static/favicon/favicon-32x32.png"
|
|
|
|
CAS_SHOW_SERVICE_MESSAGES = True
|
|
|
|
CAS_SHOW_POWERED = False
|
|
|
|
CAS_REDIRECT_TO_LOGIN_AFTER_LOGOUT = False
|
2020-03-11 12:24:48 +00:00
|
|
|
CAS_PROVIDE_URL_TO_LOGOUT = True
|
2020-03-08 22:03:35 +00:00
|
|
|
CAS_INFO_MESSAGES = {
|
|
|
|
"cas_explained": {
|
|
|
|
"message": _(
|
|
|
|
u"The Central Authentication Service grants you access to most of our websites by "
|
|
|
|
u"authenticating only once, so you don't need to type your credentials again unless "
|
|
|
|
u"your session expires or you logout."
|
|
|
|
),
|
|
|
|
"discardable": True,
|
|
|
|
"type": "info", # one of info, success, info, warning, danger
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
CAS_INFO_MESSAGES_ORDER = [
|
|
|
|
'cas_explained',
|
|
|
|
]
|
|
|
|
AUTHENTICATION_BACKENDS += ('cas.backends.CASBackend',)
|
2020-03-09 23:01:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
if "logs" in INSTALLED_APPS:
|
2020-03-19 15:12:52 +00:00
|
|
|
MIDDLEWARE += ('note_kfet.middlewares.SessionMiddleware',)
|
2020-03-09 23:01:40 +00:00
|
|
|
|
2020-03-08 22:03:35 +00:00
|
|
|
if "debug_toolbar" in INSTALLED_APPS:
|
2020-03-10 23:47:43 +00:00
|
|
|
MIDDLEWARE.insert(1, "debug_toolbar.middleware.DebugToolbarMiddleware")
|
|
|
|
INTERNAL_IPS = ['127.0.0.1']
|