diff --git a/cam/filters/archimed.py b/cam/filters/archimed.py
index 1163103..71bdcee 100644
--- a/cam/filters/archimed.py
+++ b/cam/filters/archimed.py
@@ -151,6 +151,24 @@ def registration_association(env, values, request, response):
clean_registration_session(env, values, request, response)
return response
+def rewrite_logged_box(env, values, request, response):
+ session = env.get('beaker.session')
+ if 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
+""",
+ response.msg)
+ response.msg = resp
+ return response
+
def is_user_locally_logged_in(env, request, response):
session = env['beaker.session']
if session.has_key('locally_logged_in') and session['locally_logged_in']:
@@ -159,7 +177,7 @@ def is_user_locally_logged_in(env, request, response):
def is_logged_in(env, values, request, response):
session = env['beaker.session']
- if response.msg and 'account_logoff' in response.msg:
+ if response.msg and '
Bienvenue' in response.msg:
session['locally_logged_in'] = True
else:
session['locally_logged_in'] = False
diff --git a/cam/mappers/archimed_saml.py b/cam/mappers/archimed_saml.py
index cf2e07c..93bcc59 100644
--- a/cam/mappers/archimed_saml.py
+++ b/cam/mappers/archimed_saml.py
@@ -53,10 +53,15 @@ mapping = [
{
'path': r'/',
'method': 'GET',
- 'on_response': [{
- 'content-types': ['text/html'],
- 'filter': archimed.is_logged_in,
- }],
+ 'content-types': ['text/html'],
+ 'on_response': [
+ {
+ 'filter': archimed.is_logged_in,
+ },
+ {
+ 'filter': archimed.rewrite_logged_box
+ },
+ ],
},
{
'path': r'/mandaye/login$',
@@ -74,9 +79,9 @@ mapping = [
'response': {'auth': 'sso',}
},
{
- 'path': r'/%s/DEFAULT/Ermes/Recherche/logon.svc/logoff$' % base,
- 'on_response': [{'auth': 'logout',}],
- },
+ 'path': r'/%s/DEFAULT/Ermes/Recherche/logon.svc/logoff$' % base,
+ 'on_response': [{'auth': 'logout',}],
+ },
{
'path': r'%s$' % END_POINTS_PATH['single_sign_on_post'],
'method': 'POST',
@@ -122,7 +127,7 @@ mapping = [
'action': '/mandaye/associate?next_url=/%s' % base,
'login_name': form_values['username_field'],
'password_name': form_values['password_field'],
- },
+ },
}]
},
{
@@ -154,5 +159,3 @@ mapping = [
'response': {'filter': archimed.json_response,},
},
]
-
-