diff --git a/cam/filters/archimed.py b/cam/filters/archimed.py
index cd35139..f7c0750 100644
--- a/cam/filters/archimed.py
+++ b/cam/filters/archimed.py
@@ -23,14 +23,18 @@ def default_req(env, values, request):
request.cookies['S_HTTP_REFERER'] = re.sub(r'\?SAMLRequest=.*$',
'',
str(request.cookies['S_HTTP_REFERER']))
- return request
def default_resp(env, values, request, response):
try:
response.msg = response.msg.decode('utf-8')
except UnicodeDecodeError:
response.msg = response.msg.decode('iso8859-15')
- response.msg = re.sub(r'http://[s]*' + env['target'].netloc,
+ if response.headers.has_key('location'):
+ print response.headers['location'][0]
+ response.headers['location'][0] = re.sub(r'http[s]*://' + env['target'].netloc,
+ env['mandaye.scheme'] + '://' + env["HTTP_HOST"],
+ response.headers['location'][0])
+ response.msg = re.sub(r'http[s]*://' + env['target'].netloc,
env['mandaye.scheme'] + '://' + env["HTTP_HOST"],
response.msg)
response.msg = response.msg.encode('utf-8')
@@ -106,64 +110,6 @@ def json_response(env, values, request, response):
request.msg = content
return get_response(env, request, target)
-def rewrite_login_box(env, values, request, response):
- if response.msg:
- response.msg = response.msg.replace(
- 'http://player.vimeo.com',
- 'https://player.vimeo.com'
- )
- if response.msg and \
- 'id="perso_authentification"' in response.msg and \
- 'action="logon.aspx"' in response.msg:
- r = re.compile(
- r'',
- re.MULTILINE|re.DOTALL)
-
- response.msg = re.sub(r,
- r"""
-
-
- Se connecter avec son compte citoyen Montpellier Agglo
-
-
-
- Préinscription en ligne
-
- """,
- response.msg)
- return response
-
-def rewrite_logged_box(env, values, request, response):
- session = env.get('beaker.session')
- if response.msg and \
- 'id="compte"' in response.msg and \
- 'class="account_logoff"' in response.msg and \
- session and \
- session.has_key('unique_id'):
- r = re.compile(
- r'',
- re.MULTILINE|re.DOTALL)
-
- resp = re.sub(r,
- r"""
-
-
- Me déconnecter
-
- Me délier du compte Montpellier Agglo""",
- response.msg)
- response.msg = resp
- return response
-
def registration_req(env, values, request):
session = env['beaker.session']
if request.msg:
diff --git a/cam/mappers/archimed_saml.py b/cam/mappers/archimed_saml.py
index fe927f9..b6f2db0 100644
--- a/cam/mappers/archimed_saml.py
+++ b/cam/mappers/archimed_saml.py
@@ -18,7 +18,9 @@ urls = {
'login_url': '/mandaye/login',
'connection_url': '/mandaye/sso',
'associate_url': '/mandaye/associate',
- 'logout_url': '/mandaye/slo',
+ 'disassociate_url': '/mandaye/disassociate',
+ 'disassociate_next_url': '/mandaye/logout',
+ 'logout_url': '/mandaye/logout',
}
mapping = [
@@ -36,18 +38,6 @@ mapping = [
'content-types': ['text/html', 'application/javascript', 'application/x-javascript', 'application/json'],
}]
},
- {
- 'path': r'/%s/|/%s/' % (base, base.lower()),
- 'method': 'GET',
- 'content-types': ['text/html'],
- 'on_response': [{
- 'filter': archimed.rewrite_login_box,
- },
- {
- 'filter': archimed.rewrite_logged_box
- },
- ]
- },
{
'path': r'/mandaye/login$',
'method': 'GET',
@@ -64,11 +54,6 @@ mapping = [
'method': 'GET',
'response': {'auth': 'sso',}
},
- {
- 'path': r'/mandaye/slo$',
- 'method': 'GET',
- 'response': {'auth': 'slo',}
- },
{
'path': r'%s$' % END_POINTS_PATH['single_sign_on_post'],
'method': 'POST',
@@ -117,11 +102,6 @@ mapping = [
},
}]
},
- {
- 'path': r'/mandaye/disassociate$',
- 'method': 'GET',
- 'response': {'auth': 'disassociate',},
- },
{
'path': r'/mandaye/associate_confirm$',
'method': 'GET',
diff --git a/cam/mappers/imuse.py b/cam/mappers/imuse.py
index 39f7497..3d37419 100644
--- a/cam/mappers/imuse.py
+++ b/cam/mappers/imuse.py
@@ -15,6 +15,7 @@ urls = {
'connection_url': '/mandaye/sso',
'associate_url': '/montpellier/extranet/login/mandaye_associate',
'disassociate_url': '/mandaye/disassociate',
+ 'disassociate_next_url': '/mandaye/logout?next_url=/montpellier/extranet/login/usa_index_famille.php',
}
replay_condition = lambda env, response: "OK" in response.msg
diff --git a/cam/templates/toolbar.html b/cam/templates/toolbar.html
index 08321da..42169ab 100644
--- a/cam/templates/toolbar.html
+++ b/cam/templates/toolbar.html
@@ -14,7 +14,7 @@
% if account: