From 243cb773ed9d1c4c7b3fa1c4ba7fb79ef6dc5ec0 Mon Sep 17 00:00:00 2001 From: hernani Date: Tue, 17 Aug 2010 08:17:08 +0000 Subject: [PATCH] Removes a few remaining usages of old django decorators and replace them by OSQA specific stuff. git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@555 0cfe37f9-358a-4d5e-be75-b63607b5c754 --- forum/views/auth.py | 6 +++--- forum/views/commands.py | 1 - forum/views/decorators.py | 6 ++++++ forum/views/meta.py | 3 +++ forum/views/users.py | 11 ----------- forum/views/writers.py | 3 --- 6 files changed, 12 insertions(+), 18 deletions(-) diff --git a/forum/views/auth.py b/forum/views/auth.py index 049bd61..abbbc31 100644 --- a/forum/views/auth.py +++ b/forum/views/auth.py @@ -7,7 +7,8 @@ from forum.http_responses import HttpResponseUnauthorized from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _ from django.utils.http import urlquote_plus -from django.contrib.auth.decorators import login_required +from forum.views.decorators import login_required +from forum.modules import decorate from django.contrib.auth import login, logout from django.http import get_host from forum.actions import SuspendAction @@ -290,7 +291,6 @@ def validate_email(request, user, code): else: raise Http404() -@login_required def auth_settings(request, id): user_ = get_object_or_404(User, id=id) @@ -402,7 +402,7 @@ def forward_suspended_user(request, user, show_private_msg=True): request.user.message_set.create(message) return HttpResponseRedirect(reverse('index')) -@login_required +@decorate.withfn(login_required) def signout(request): logout(request) return HttpResponseRedirect(reverse('index')) \ No newline at end of file diff --git a/forum/views/commands.py b/forum/views/commands.py index 0436047..ad6d773 100644 --- a/forum/views/commands.py +++ b/forum/views/commands.py @@ -10,7 +10,6 @@ from forum.models import * from forum.models.node import NodeMetaClass from forum.actions import * from django.core.urlresolvers import reverse -from django.contrib.auth.decorators import login_required from forum.utils.decorators import ajax_method, ajax_login_required from decorators import command, CommandException, RefreshPageCommand from forum.modules import decorate diff --git a/forum/views/decorators.py b/forum/views/decorators.py index 758b687..f72703b 100644 --- a/forum/views/decorators.py +++ b/forum/views/decorators.py @@ -8,6 +8,12 @@ from django.utils.translation import ungettext, ugettext as _ from forum.modules import ui, decorate import logging +def login_required(func, request, *args, **kwargs): + if not request.user.is_authenticated(): + return HttpResponseRedirect(reverse('auth_signin')) + else: + return func(request, *args, **kwargs) + def render(template=None, tab=None, tab_title='', weight=500, tabbed=True): def decorator(func): def decorated(context, request, *args, **kwargs): diff --git a/forum/views/meta.py b/forum/views/meta.py index 3330a3b..2177301 100644 --- a/forum/views/meta.py +++ b/forum/views/meta.py @@ -6,6 +6,8 @@ from django.template import RequestContext, loader from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.views.static import serve from forum import settings +from forum.modules import decorate +from forum.views.decorators import login_required from forum.forms import FeedbackForm from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ @@ -70,6 +72,7 @@ feedback.CANCEL_MESSAGE=_('We look forward to hearing your feedback! Please, giv def privacy(request): return render_to_response('privacy.html', context_instance=RequestContext(request)) +@decorate.withfn(login_required) def logout(request): return render_to_response('logout.html', { 'next' : get_next_url(request), diff --git a/forum/views/users.py b/forum/views/users.py index 3c1654c..d95b302 100644 --- a/forum/views/users.py +++ b/forum/views/users.py @@ -1,4 +1,3 @@ -from django.contrib.auth.decorators import login_required from forum.models import User from django.db.models import Q, Count from django.core.paginator import Paginator, EmptyPage, InvalidPage @@ -83,7 +82,6 @@ def online_users(request): }) -@login_required def edit_user(request, id): user = get_object_or_404(User, id=id) if not (request.user.is_superuser or request.user == user): @@ -403,13 +401,4 @@ def user_preferences(request, user): return {'view_user': user, 'form': form} -@login_required -def account_settings(request): - logging.debug('') - msg = request.GET.get('msg', '') - is_openid = False - return render_to_response('account_settings.html', { - 'msg': msg, - 'is_openid': is_openid - }, context_instance=RequestContext(request)) diff --git a/forum/views/writers.py b/forum/views/writers.py index 74708d6..07364f7 100644 --- a/forum/views/writers.py +++ b/forum/views/writers.py @@ -4,7 +4,6 @@ import time, datetime, random import logging from django.core.files.storage import FileSystemStorage from django.shortcuts import render_to_response, get_object_or_404 -from django.contrib.auth.decorators import login_required from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.template import RequestContext from django.utils.html import * @@ -110,7 +109,6 @@ def ask(request): 'form' : form, }, context_instance=RequestContext(request)) -@login_required def edit_question(request, id): question = get_object_or_404(Question, id=id) if question.nis.deleted and not request.user.can_view_deleted_post(question): @@ -174,7 +172,6 @@ def _edit_question(request, question): #'tags' : _get_tags_cache_json() }, context_instance=RequestContext(request)) -@login_required def edit_answer(request, id): answer = get_object_or_404(Answer, id=id) if answer.deleted and not request.user.can_view_deleted_post(answer): -- 2.39.5