From 816156fa598fa9a4cfef60fddefa04096bddccab Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Mon, 22 Aug 2016 15:07:15 +0200 Subject: [PATCH] Allow the user defined CAS_COMPONENT_URLS to omit not changed values --- README.rst | 5 +++-- cas_server/default_settings.py | 14 ++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 6c57a7f..f4bc027 100644 --- a/README.rst +++ b/README.rst @@ -208,7 +208,7 @@ Template settings Default is a key icon. Set it to ``False`` to disable it. * ``CAS_SHOW_POWERED``: Set it to ``False`` to hide the powered by footer. The default is ``True``. * ``CAS_COMPONENT_URLS``: URLs to css and javascript external components. It is a dictionnary - and it must have the five following keys: ``"bootstrap3_css"``, ``"bootstrap3_js"``, + having the five following keys: ``"bootstrap3_css"``, ``"bootstrap3_js"``, ``"html5shiv"``, ``"respond"``, ``"jquery"``. The default is:: { @@ -218,6 +218,7 @@ Template settings "respond": "//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js", "jquery": "//code.jquery.com/jquery.min.js", } + if you omit some keys of the dictionnary, the default value for these keys is used. * ``CAS_LOGIN_TEMPLATE``: Path to the template showed on ``/login`` then the user is not autenticated. The default is ``"cas_server/login.html"``. @@ -597,7 +598,7 @@ You could for example do as bellow : .. code-block:: - 10 0 * * * cas-user /path/to/project/manage.py cas_clean_federate + 10 0 * * * cas-user /path/to/project/manage.py cas_clean_federate diff --git a/cas_server/default_settings.py b/cas_server/default_settings.py index 8474d0b..0ee1749 100644 --- a/cas_server/default_settings.py +++ b/cas_server/default_settings.py @@ -182,11 +182,17 @@ CAS_NEW_VERSION_JSON_URL = "https://pypi.python.org/pypi/django-cas-server/json" GLOBALS = globals().copy() for name, default_value in GLOBALS.items(): - # get the current setting value, falling back to default_value - value = getattr(settings, name, default_value) - # set the setting value to its value if defined, ellse to the default_value. - setattr(settings, name, value) + # only care about parameter begining by CAS_ + if name.startswith("CAS_"): + # get the current setting value, falling back to default_value + value = getattr(settings, name, default_value) + # set the setting value to its value if defined, ellse to the default_value. + setattr(settings, name, value) +# Allow the user defined CAS_COMPONENT_URLS to omit not changed values +MERGED_CAS_COMPONENT_URLS = CAS_COMPONENT_URLS.copy() +MERGED_CAS_COMPONENT_URLS.update(settings.CAS_COMPONENT_URLS) +settings.CAS_COMPONENT_URLS = MERGED_CAS_COMPONENT_URLS # if the federated mode is enabled, we must use the :class`cas_server.auth.CASFederateAuth` auth # backend.