From 7482228b7a8ac93b366d2fe9c374eac380640503 Mon Sep 17 00:00:00 2001 From: Sofia Papagiannaki Date: Thu, 2 Feb 2012 13:08:14 +0200 Subject: [PATCH] fix logout view --- astakos/im/templates/account_base.html | 2 +- astakos/im/urls.py | 6 +----- astakos/im/views.py | 16 +++++++++------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/astakos/im/templates/account_base.html b/astakos/im/templates/account_base.html index 9dc278d..3c8800f 100644 --- a/astakos/im/templates/account_base.html +++ b/astakos/im/templates/account_base.html @@ -17,7 +17,7 @@ Send Feedback - Logout + Logout {% endblock %} diff --git a/astakos/im/urls.py b/astakos/im/urls.py index d04b21d..5a12e2f 100644 --- a/astakos/im/urls.py +++ b/astakos/im/urls.py @@ -42,14 +42,10 @@ urlpatterns = patterns('astakos.im.views', url(r'^profile/?$', 'edit_profile'), url(r'^feedback/?$', 'send_feedback'), url(r'^signup/?$', 'signup'), - url(r'^user_logout/?$', 'user_logout'), + url(r'^logout/?$', 'logout'), url(r'^admin/', include('astakos.im.admin.urls')), ) -urlpatterns += patterns('django.contrib.auth.views', - url(r'^logout/?$', 'logout') -) - urlpatterns += patterns('astakos.im.target', url(r'^login/redirect/?$', 'redirect.login') ) diff --git a/astakos/im/views.py b/astakos/im/views.py index 7254b9b..c36e7c6 100644 --- a/astakos/im/views.py +++ b/astakos/im/views.py @@ -49,7 +49,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required from django.contrib import messages from django.db import transaction -from django.contrib.auth.views import logout +from django.contrib.auth import logout as auth_logout from django.utils.http import urlencode from django.http import HttpResponseRedirect @@ -74,13 +74,13 @@ def render_response(template, tab=None, status=200, context_instance=None, **kwa def requires_anonymous(func): """ Decorator checkes whether the request.user is Anonymous and in that case - redirects to `user_logout`. + redirects to `logout`. """ @wraps(func) def wrapper(request, *args): if not request.user.is_anonymous(): next = urlencode({'next': request.build_absolute_uri()}) - login_uri = reverse(user_logout) + '?' + next + login_uri = reverse(logout) + '?' + next return HttpResponseRedirect(login_uri) return func(request, *args) return wrapper @@ -402,15 +402,17 @@ def create_user(request, form, backend=None, post_data={}, next = None, template form = LocalUserCreationForm(), context_instance=get_context(request, extra_context)) -def user_logout(request): +def logout(request, template='registration/logged_out.html', extra_context={}): """ - Wraps `django.contrib.auth.views.logout` and delete the cookie. + Wraps `django.contrib.auth.logout` and delete the cookie. """ - response = logout(request) + auth_logout(request) + response = HttpResponse() response.delete_cookie(settings.COOKIE_NAME) next = request.GET.get('next') if next: response['Location'] = next response.status_code = 302 return response - return response \ No newline at end of file + html = render_to_string(template, context_instance=get_context(request, extra_context)) + return HttpResponse(html) \ No newline at end of file -- 1.7.10.4