aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/decorators.py
diff options
context:
space:
mode:
authorAleksandar Micovic <aleks.micovic@gmail.com>2011-05-31 15:26:00 -0400
committerAleksandar Micovic <aleks.micovic@gmail.com>2011-05-31 15:26:00 -0400
commitbcec749b52c287a6d361fd06bfbd833e03e5b478 (patch)
tree0e6848a7ff81d07e02ca239aa46a983a2d13853e /mediagoblin/decorators.py
parent28afb47ca82b0857aad546ef4cbf869de1ca95a5 (diff)
downloadmediagoblin-bcec749b52c287a6d361fd06bfbd833e03e5b478.tar.lz
mediagoblin-bcec749b52c287a6d361fd06bfbd833e03e5b478.tar.xz
mediagoblin-bcec749b52c287a6d361fd06bfbd833e03e5b478.zip
Fixed bug where someone who wasn't logged in was asked to verify
their emails.
Diffstat (limited to 'mediagoblin/decorators.py')
-rw-r--r--mediagoblin/decorators.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py
index bb625667..bc12d61c 100644
--- a/mediagoblin/decorators.py
+++ b/mediagoblin/decorators.py
@@ -36,12 +36,13 @@ def require_active_login(controller):
Require an active login from the user.
"""
def new_controller_func(request, *args, **kwargs):
- if not request.user or not request.user.get('status') == u'active':
- # TODO: Indicate to the user that they were redirected
- # here because an *active* user is required.
+ if request.user and request.user.get('status') == u'needs_email_verification':
+ return exc.HTTPFound(
+ location = request.urlgen('mediagoblin.auth.verify_email_notice'))
+ elif not request.user or request.user.get('status') != u'active':
return exc.HTTPFound(
location="%s?next=%s" % (
- request.urlgen("mediagoblin.auth.verify_email_notice"),
+ request.urlgen("mediagoblin.auth.login"),
request.path_info))
return controller(request, *args, **kwargs)