From fbd6cba31a06bfeda99d9fbde23c7d9811ac6b2e Mon Sep 17 00:00:00 2001 From: fpeters Date: Mon, 25 Feb 2008 10:08:02 +0000 Subject: [PATCH] quick update to match current qommon/ code git-svn-id: svn://localhost/lasso-conform/trunk@34 2a3a78c3-912c-0410-af21-e1fb2d1df599 --- lcs/admin/root.ptl | 2 +- lcs/publisher.py | 11 +++++------ lcs/root.ptl | 16 ++++++++++------ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lcs/admin/root.ptl b/lcs/admin/root.ptl index 1706e5e..26bd4fd 100644 --- a/lcs/admin/root.ptl +++ b/lcs/admin/root.ptl @@ -33,7 +33,7 @@ class RootDirectory(AccessControlled, Directory): users = users.UsersDirectory() logger = logger.LoggerDirectory() - items = [ + menu_items = [ ('users/', N_('Users')), ('logger/', N_('Logs')), ('settings/', N_('Settings')), diff --git a/lcs/publisher.py b/lcs/publisher.py index 56b999c..7b66dfe 100644 --- a/lcs/publisher.py +++ b/lcs/publisher.py @@ -7,8 +7,7 @@ try: except ImportError: pass -from qommon import set_publisher_class -from qommon.publisher import QommonPublisher +from qommon.publisher import set_publisher_class, QommonPublisher from root import RootDirectory import sessions @@ -25,15 +24,15 @@ class LcsPublisher(QommonPublisher): session_manager_class = sessions.StorageSessionManager user_class = User - def get_backoffice(cls): + def get_backoffice_module(cls): import backoffice return backoffice - get_backoffice = classmethod(get_backoffice) + get_backoffice_module = classmethod(get_backoffice_module) - def get_admin(cls): + def get_admin_module(cls): import admin return admin - get_admin = classmethod(get_admin) + get_admin_module = classmethod(get_admin_module) set_publisher_class(LcsPublisher) diff --git a/lcs/root.ptl b/lcs/root.ptl index 0dae96f..58ab7a9 100644 --- a/lcs/root.ptl +++ b/lcs/root.ptl @@ -117,7 +117,7 @@ class RootDirectory(Directory): if not server: return template.error_page(_('SAML 2.0 support not yet configured.')) login = lasso.Login(server) - # XXX: only works with a single identity provider + login.initAuthnRequest(None, lasso.HTTP_METHOD_SOAP) login.request.nameIDPolicy.format = lasso.SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT login.request.nameIDPolicy.allowCreate = True @@ -128,8 +128,10 @@ class RootDirectory(Directory): if False: # NTT ECP requires this: login.request.requestedAuthnContext = lasso.Samlp2RequestedAuthnContext() - t = lasso.StringList() - t.append('urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract') + t = lasso.NodeList() + ta = lasso.Saml2AuthnContextClassRef() + ta.content = 'urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract' + t.append(ta) login.request.requestedAuthnContext.authnContextClassRef = t login.buildAuthnRequestMsg() @@ -441,13 +443,15 @@ class RootDirectory(Directory): 'encrypt_nameid_%s' % klp).parse() get_publisher().write_cfg() - - def _q_lookup(self, component): if component == 'themes': dirname = os.path.join(get_publisher().data_dir, 'themes') return StaticDirectory(dirname, follow_symlinks = True) - + if component == 'qo': + dirname = os.path.join(get_publisher().data_dir, 'qommon') + if not os.path.exists(dirname): + dirname = os.path.join(os.path.dirname(__file__), 'qommon/static') + return StaticDirectory(dirname, follow_symlinks = True) raise errors.TraversalError() admin = admin.RootDirectory()