From 612163db61bdd40be1030d30a575e29233af19cf Mon Sep 17 00:00:00 2001 From: root Date: Tue, 17 Jun 2014 12:24:33 -0300 Subject: [PATCH] Clear cookies from gitlab and redmine sessions at logout --- src/accounts/urls.py | 3 ++- src/accounts/views.py | 9 +++++++++ src/colab/custom_settings.py | 2 +- src/colab/local_settings-dev.py | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/accounts/urls.py b/src/accounts/urls.py index b7788d5..c15e44d 100644 --- a/src/accounts/urls.py +++ b/src/accounts/urls.py @@ -4,6 +4,7 @@ from django.conf.urls import patterns, include, url from .views import (UserProfileDetailView, UserProfileUpdateView, ManageUserSubscriptionsView, ChangeXMPPPasswordView) +from accounts import views urlpatterns = patterns('', url(r'^register/$', 'accounts.views.signup', name='signup'), @@ -11,7 +12,7 @@ urlpatterns = patterns('', url(r'^change-password/$', ChangeXMPPPasswordView.as_view(), name='change_password'), - url(r'^logout/?$', 'django.contrib.auth.views.logout'), + url(r'^logout/?$', 'accounts.views.logoutColab'), url(r'^(?P[\w@+.-]+)/?$', UserProfileDetailView.as_view(), name='user_profile'), diff --git a/src/accounts/views.py b/src/accounts/views.py index 29c4fa9..7745da7 100644 --- a/src/accounts/views.py +++ b/src/accounts/views.py @@ -5,6 +5,7 @@ import datetime from collections import OrderedDict +from django.contrib.auth.views import logout from django.contrib import messages from django.db import transaction from django.db.models import Count @@ -16,6 +17,7 @@ from django.core.exceptions import PermissionDenied from django.views.generic import DetailView, UpdateView from django.utils.decorators import method_decorator +from django.http import HttpResponse from conversejs import xmpp from conversejs.models import XMPPAccount from haystack.query import SearchQuerySet @@ -111,6 +113,13 @@ class UserProfileDetailView(UserProfileBaseMixin, DetailView): return super(UserProfileDetailView, self).get_context_data(**context) +def logoutColab(request): + response = logout(request, next_page='/') + response.delete_cookie('_redmine_session') + response.delete_cookie('_gitlab_session') + return response + + def signup(request): # If the request method is GET just return the form if request.method == 'GET': diff --git a/src/colab/custom_settings.py b/src/colab/custom_settings.py index 578a3a8..43cfded 100644 --- a/src/colab/custom_settings.py +++ b/src/colab/custom_settings.py @@ -281,7 +281,7 @@ BROWSERID_AUDIENCES = [SITE_URL, SITE_URL.replace('https', 'http')] LOGIN_URL = '/' LOGIN_REDIRECT_URL = '/' LOGIN_REDIRECT_URL_FAILURE = '/' -LOGOUT_REDIRECT_URL = '/' +LOGOUT_REDIRECT_URL = '/user/logout' BROWSERID_CREATE_USER = False diff --git a/src/colab/local_settings-dev.py b/src/colab/local_settings-dev.py index 0f8d667..94016d0 100644 --- a/src/colab/local_settings-dev.py +++ b/src/colab/local_settings-dev.py @@ -34,6 +34,8 @@ HAYSTACK_CONNECTIONS['default']['URL'] = 'http://localhost:8983/solr/' COLAB_TRAC_URL = 'http://localhost:5000/' COLAB_CI_URL = 'http://localhost:8080/ci/' +COLAB_GITLAB_URL = 'http://localhost:8090/gitlab/' +COLAB_REDMINE_URL = 'http://localhost:9080/redmine/' CONVERSEJS_ENABLED = False -- libgit2 0.21.2