app_settings: move default value from other modules
This commit is contained in:
parent
8f2a43fee3
commit
7eac84c8bd
|
@ -1,11 +1,25 @@
|
|||
class AppSettings(object):
|
||||
__DEFAULTS = {
|
||||
'METADATA_OPTIONS': {},
|
||||
'DISCO_RETURN_ID_PARAM': 'entityID',
|
||||
'DISCO_SERVICE_NAME': None,
|
||||
}
|
||||
|
||||
def __init__(self, prefix):
|
||||
self.prefix = prefix
|
||||
|
||||
def SHOW_DISCO_IN_MD(self):
|
||||
from django.conf import settings
|
||||
return getattr(settings, 'SHOW_DISCO_IN_MD', False)
|
||||
|
||||
def _setting(self, name, dflt):
|
||||
from django.conf import settings
|
||||
return getattr(settings, name, dflt)
|
||||
return getattr(settings, self.prefix+name, dflt)
|
||||
|
||||
def __getattr__(self, name):
|
||||
if name in self.__DEFAULTS:
|
||||
return self._setting(name, self.__DEFAULTS[name])
|
||||
raise AttributeError(name)
|
||||
|
||||
|
||||
# Ugly? Guido recommends this himself ...
|
||||
|
|
|
@ -40,12 +40,9 @@ from authentic2_auth_saml2.utils import error_page
|
|||
from authentic2_auth_saml2 import signals
|
||||
from authentic2.utils import cache_and_validate, flush_django_session
|
||||
|
||||
from . import utils
|
||||
from . import utils, app_settings
|
||||
from .decorators import anonymous_only
|
||||
|
||||
__logout_redirection_timeout = getattr(settings,
|
||||
'IDP_LOGOUT_TIMEOUT', 600)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
MANAGE_DUMP_KEY = 'manage-dump'
|
||||
|
@ -73,7 +70,7 @@ metadata_map = (
|
|||
)
|
||||
metadata_options = {'key': settings.SAML_SIGNATURE_PUBLIC_KEY}
|
||||
try:
|
||||
if settings.SHOW_DISCO_IN_MD:
|
||||
if app_settings.SHOW_DISCO_IN_MD:
|
||||
metadata_options['disco'] = ('/discoveryReturn', )
|
||||
except:
|
||||
pass
|
||||
|
@ -658,8 +655,7 @@ def get_provider_id_and_options(provider_id):
|
|||
if not provider_id:
|
||||
provider_id = reverse('a2-auth-saml2-metadata')
|
||||
options = metadata_options
|
||||
if getattr(settings, 'AUTHSAML2_METADATA_OPTIONS', None):
|
||||
options.update(settings.AUTHSAML2_METADATA_OPTIONS)
|
||||
options.update(app_settings.AUTHSAML2_METADATA_OPTIONS)
|
||||
return provider_id, options
|
||||
|
||||
def get_metadata(request, provider_id=None):
|
||||
|
|
|
@ -3,18 +3,17 @@ import urlparse
|
|||
import urllib
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.conf import settings
|
||||
from django.http import Http404, HttpResponseRedirect
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from .views import metadata
|
||||
from .utils import register_next_target, error_page, get_registered_url
|
||||
from . import app_settings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_return_id_param():
|
||||
return getattr(settings, 'DISCO_RETURN_ID_PARAM', 'entityID')
|
||||
return app_settings.DISCO_RETURN_ID_PARAM
|
||||
|
||||
##############################################################
|
||||
#
|
||||
|
@ -40,11 +39,11 @@ def build_discovery_url(request, target):
|
|||
|
||||
def redirect_to_disco(request):
|
||||
'''Send a discovery request to the default disco service'''
|
||||
if not hasattr(settings, 'DISCO_SERVICE_NAME'):
|
||||
if not app_settings.DISCO_SERVICE_NAME:
|
||||
raise Http404
|
||||
register_next_target(request)
|
||||
try:
|
||||
target = settings.DISCO_SERVICE_NAME
|
||||
target = app_settings.DISCO_SERVICE_NAME
|
||||
except:
|
||||
logger.error('missing parameter in settings')
|
||||
return None
|
||||
|
@ -57,7 +56,7 @@ def redirect_to_disco(request):
|
|||
|
||||
def disco_response(request):
|
||||
'''Handle the discovery response'''
|
||||
if not hasattr(settings, 'DISCO_SERVICE_NAME'):
|
||||
if not app_settings.DISCO_SERVICE_NAME:
|
||||
raise Http404
|
||||
if not request.method == "GET":
|
||||
message = _('HTTP request not supported')
|
||||
|
|
Reference in New Issue