aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mediagoblin/auth/routing.py4
-rw-r--r--mediagoblin/auth/views.py15
-rw-r--r--mediagoblin/decorators.py2
-rw-r--r--mediagoblin/templates/mediagoblin/auth/verification_needed.html29
4 files changed, 48 insertions, 2 deletions
diff --git a/mediagoblin/auth/routing.py b/mediagoblin/auth/routing.py
index 59762840..9544b165 100644
--- a/mediagoblin/auth/routing.py
+++ b/mediagoblin/auth/routing.py
@@ -26,4 +26,6 @@ auth_routes = [
Route('mediagoblin.auth.logout', '/logout/',
controller='mediagoblin.auth.views:logout'),
Route('mediagoblin.auth.verify_email', '/verify_email/',
- controller='mediagoblin.auth.views:verify_email')]
+ controller='mediagoblin.auth.views:verify_email'),
+ Route('mediagoblin.auth.verify_email_notice', '/verification_required/',
+ controller='mediagoblin.auth.views:verify_email_notice')]
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index 6b5ce88c..edac74a8 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -168,3 +168,18 @@ def verify_email(request):
{'request': request,
'user': user,
'verification_successful': verification_successful}))
+
+def verify_email_notice(request):
+ """
+ Verify warning view.
+
+ When the user tries to do some action that requires their account
+ to be verified beforehand, this view is called upon!
+ """
+
+ template = request.template_env.get_template(
+ 'mediagoblin/auth/verification_needed.html')
+ return Response(
+ template.render(
+ {'request': request}))
+
diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py
index ff3f0b5e..bb625667 100644
--- a/mediagoblin/decorators.py
+++ b/mediagoblin/decorators.py
@@ -41,7 +41,7 @@ def require_active_login(controller):
# here because an *active* user is required.
return exc.HTTPFound(
location="%s?next=%s" % (
- request.urlgen("mediagoblin.auth.login"),
+ request.urlgen("mediagoblin.auth.verify_email_notice"),
request.path_info))
return controller(request, *args, **kwargs)
diff --git a/mediagoblin/templates/mediagoblin/auth/verification_needed.html b/mediagoblin/templates/mediagoblin/auth/verification_needed.html
new file mode 100644
index 00000000..26ea84dc
--- /dev/null
+++ b/mediagoblin/templates/mediagoblin/auth/verification_needed.html
@@ -0,0 +1,29 @@
+{#
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011 Free Software Foundation, Inc
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#}
+{% extends "mediagoblin/base.html" %}
+
+{% block mediagoblin_content %}
+ <p>
+ Verfication needed!<br />
+ Please check your email to verify your account.
+ </p>
+
+ <p>
+ Still haven't received an email? <a href="#">Click here to resend it.</a>
+ </p>
+{% endblock %}