From 84e1afa64528f6e7d7c570ed49badbf500fc9149 Mon Sep 17 00:00:00 2001 From: Josue Kouka Date: Fri, 5 Feb 2016 14:29:08 +0100 Subject: [PATCH] merge local and idp logout (#9865) --- mandayejs/applications.py | 2 ++ mandayejs/mandaye/static/single.logout.js | 8 ++++++++ mandayejs/mandaye/templates/mandaye/panel.html | 4 +++- mandayejs/mandaye/views.py | 14 +++++++++----- mandayejs/urls.py | 5 ++++- 5 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 mandayejs/mandaye/static/single.logout.js diff --git a/mandayejs/applications.py b/mandayejs/applications.py index 72cc369..99a7b2c 100644 --- a/mandayejs/applications.py +++ b/mandayejs/applications.py @@ -250,6 +250,8 @@ class Imuse(AppSettings): SITE_FORM_SUBMIT_ELEMENT = '#INDEX_BT_LOGIN' + SITE_LOGOUT_LOCATOR = '#MENU_FAMILLE_QUITTER' + class ImuseTeacherMontpellier(Imuse): SITE_LOGIN_PATH = '/montpellier/extranet/login/ens_index_enseignant.php' diff --git a/mandayejs/mandaye/static/single.logout.js b/mandayejs/mandaye/static/single.logout.js new file mode 100644 index 0000000..225613e --- /dev/null +++ b/mandayejs/mandaye/static/single.logout.js @@ -0,0 +1,8 @@ +$(function(){ + if (typeof(mandaye_logout_locator) === 'undefined') + return false; + $(mandaye_logout_locator).click(function(){ + console.log("launching slo"); + $.get('/_mandaye/logout/', function(){}); + }); +}); diff --git a/mandayejs/mandaye/templates/mandaye/panel.html b/mandayejs/mandaye/templates/mandaye/panel.html index 37c0e5d..7c3472d 100644 --- a/mandayejs/mandaye/templates/mandaye/panel.html +++ b/mandayejs/mandaye/templates/mandaye/panel.html @@ -3,9 +3,11 @@ + {% if site_scripts %} {%for script in site_scripts%} @@ -23,7 +25,7 @@ {% if user.is_authenticated %}
{{ user.get_full_name }}
{% trans 'advances' %}
-
{% trans 'logout' %}
+
{% trans 'logout' %}
{% if is_linked %}
{% trans 'dissociate' %}
{% else %} diff --git a/mandayejs/mandaye/views.py b/mandayejs/mandaye/views.py index e2e4ea3..045acae 100644 --- a/mandayejs/mandaye/views.py +++ b/mandayejs/mandaye/views.py @@ -44,16 +44,18 @@ from mandayejs.mandaye.forms import FormFactory from mandayejs.mandaye.utils import exec_phantom, cookie_builder, get_login_info from mandayejs.applications import get_app_settings +from mellon.views import logout as mellon_logout + app_settings = get_app_settings() logger = logging.getLogger(__name__) -def login(request, *args, **kwargs): - return auth_views.login(request, *args, **kwargs) - def logout(request, *args, **kwargs): - auth_logout(request) - return HttpResponseRedirect('/') + logger.debug("running slo") + response = mellon_logout(request, *args, **kwargs) + for cookie in app_settings.SITE_AUTH_COOKIE_KEYS: + response.delete_cookie(cookie) + return response class Panel(TemplateView): @@ -67,6 +69,8 @@ class Panel(TemplateView): 'SITE_FORCE_REDIRECT_URL', '') context['force_redirect_locator'] = getattr(app_settings, 'SITE_FORCE_REDIRECT_LOCATOR', '') + context['logout_locator'] = getattr(app_settings, + 'SITE_LOGOUT_LOCATOR','') context['is_linked'] = self.is_account_linked() return context diff --git a/mandayejs/urls.py b/mandayejs/urls.py index d08360b..46e6c31 100644 --- a/mandayejs/urls.py +++ b/mandayejs/urls.py @@ -33,5 +33,8 @@ urlpatterns = patterns('', ) if 'mellon' in settings.INSTALLED_APPS: - urlpatterns += patterns('', url(r'^_mandaye/accounts/mellon/', include('mellon.urls'))) + urlpatterns += patterns('', + url(r'^_mandaye/logout/$', 'mandayejs.mandaye.views.logout', name='logout'), + url(r'^_mandaye/accounts/mellon/', include('mellon.urls')), + ) -- 2.7.0