Merge remote branch 'upstream/master'
[mediagoblin.git] / mediagoblin / decorators.py
index fe631112292c8a44c5f4d8e8b7e1274289817892..345753208cc51dc9402c91acb7acc6f85cb1b4b1 100644 (file)
@@ -36,9 +36,12 @@ 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.login"),