Create redirect shortcut and use it around

This is just replacing exc.HTTPFound(location=request.urlgen(...))
by redirect(request, ...). No magic.
This commit is contained in:
Elrond 2011-06-05 15:49:08 +02:00
parent c9c2493435
commit 9150244afa
5 changed files with 19 additions and 24 deletions

View File

@ -18,7 +18,7 @@ import uuid
from webob import exc from webob import exc
from mediagoblin.util import render_to_response from mediagoblin.util import render_to_response, redirect
from mediagoblin.db.util import ObjectId from mediagoblin.db.util import ObjectId
from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import lib as auth_lib
from mediagoblin.auth import forms as auth_forms from mediagoblin.auth import forms as auth_forms
@ -54,9 +54,7 @@ def register(request):
send_verification_email(entry, request) send_verification_email(entry, request)
# Redirect to register_success return redirect(request, "mediagoblin.auth.register_success")
return exc.HTTPFound(
location=request.urlgen("mediagoblin.auth.register_success"))
return render_to_response(request, return render_to_response(request,
'mediagoblin/auth/register.html', 'mediagoblin/auth/register.html',
@ -90,8 +88,7 @@ def login(request):
if request.POST.get('next'): if request.POST.get('next'):
return exc.HTTPFound(location=request.POST['next']) return exc.HTTPFound(location=request.POST['next'])
else: else:
return exc.HTTPFound( return redirect(request, "index")
location=request.urlgen("index"))
else: else:
# Prevent detecting who's on this system by testing login # Prevent detecting who's on this system by testing login
@ -110,8 +107,7 @@ def logout(request):
# Maybe deleting the user_id parameter would be enough? # Maybe deleting the user_id parameter would be enough?
request.session.delete() request.session.delete()
return exc.HTTPFound( return redirect(request, "index")
location=request.urlgen("index"))
def verify_email(request): def verify_email(request):
@ -164,8 +160,7 @@ def resend_activation(request):
send_verification_email(request.user, request) send_verification_email(request.user, request)
return exc.HTTPFound( return redirect(request, 'mediagoblin.auth.resend_verification_success')
location=request.urlgen('mediagoblin.auth.resend_verification_success'))
def resend_activation_success(request): def resend_activation_success(request):

View File

@ -18,6 +18,7 @@
from bson.errors import InvalidId from bson.errors import InvalidId
from webob import exc from webob import exc
from mediagoblin.util import redirect
from mediagoblin.db.util import ObjectId from mediagoblin.db.util import ObjectId
@ -38,9 +39,8 @@ def require_active_login(controller):
def new_controller_func(request, *args, **kwargs): def new_controller_func(request, *args, **kwargs):
if request.user and \ if request.user and \
request.user.get('status') == u'needs_email_verification': request.user.get('status') == u'needs_email_verification':
return exc.HTTPFound( return redirect(request,
location = request.urlgen( 'mediagoblin.auth.verify_email_notice')
'mediagoblin.auth.verify_email_notice'))
elif not request.user or request.user.get('status') != u'active': elif not request.user or request.user.get('status') != u'active':
return exc.HTTPFound( return exc.HTTPFound(
location="%s?next=%s" % ( location="%s?next=%s" % (

View File

@ -17,7 +17,7 @@
from webob import exc from webob import exc
from mediagoblin.util import render_to_response from mediagoblin.util import render_to_response, redirect
from mediagoblin.edit import forms from mediagoblin.edit import forms
from mediagoblin.edit.lib import may_edit_media from mediagoblin.edit.lib import may_edit_media
from mediagoblin.decorators import require_active_login, get_user_media_entry from mediagoblin.decorators import require_active_login, get_user_media_entry
@ -51,10 +51,8 @@ def edit_media(request, media):
media['slug'] = request.POST['slug'] media['slug'] = request.POST['slug']
media.save() media.save()
# redirect return redirect(request, "mediagoblin.user_pages.media_home",
return exc.HTTPFound( user=media.uploader()['username'], media=media['slug'])
location=request.urlgen("mediagoblin.user_pages.media_home",
user=media.uploader()['username'], media=media['slug']))
return render_to_response(request, return render_to_response(request,
'mediagoblin/edit/edit.html', 'mediagoblin/edit/edit.html',

View File

@ -17,10 +17,9 @@
from os.path import splitext from os.path import splitext
from cgi import FieldStorage from cgi import FieldStorage
from webob import exc
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from mediagoblin.util import render_to_response from mediagoblin.util import render_to_response, redirect
from mediagoblin.decorators import require_active_login from mediagoblin.decorators import require_active_login
from mediagoblin.submit import forms as submit_forms from mediagoblin.submit import forms as submit_forms
from mediagoblin.process_media import process_media_initial from mediagoblin.process_media import process_media_initial
@ -76,9 +75,7 @@ def submit_start(request):
# queue it for processing # queue it for processing
process_media_initial.delay(unicode(entry['_id'])) process_media_initial.delay(unicode(entry['_id']))
# redirect return redirect(request, "mediagoblin.submit.success")
return exc.HTTPFound(
location=request.urlgen("mediagoblin.submit.success"))
return render_to_response(request, return render_to_response(request,
'mediagoblin/submit/start.html', 'mediagoblin/submit/start.html',

View File

@ -29,7 +29,7 @@ from babel.localedata import exists
import jinja2 import jinja2
import translitcodec import translitcodec
from paste.deploy.loadwsgi import NicerConfigParser from paste.deploy.loadwsgi import NicerConfigParser
from webob import Response from webob import Response, exc
from mediagoblin import globals as mgoblin_globals from mediagoblin import globals as mgoblin_globals
from mediagoblin.db.util import ObjectId from mediagoblin.db.util import ObjectId
@ -123,6 +123,11 @@ def render_to_response(request, template, context):
return Response(render_template(request, template, context)) return Response(render_template(request, template, context))
def redirect(request, *args, **kwargs):
"""Returns a HTTPFound(), takes a request and then urlgen params"""
return exc.HTTPFound(location=request.urlgen(*args, **kwargs))
def setup_user_in_request(request): def setup_user_in_request(request):
""" """
Examine a request and tack on a request.user parameter if that's Examine a request and tack on a request.user parameter if that's