summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradityacp2017-04-27 15:34:41 +0530
committeradityacp2017-04-27 15:34:41 +0530
commitb191455c7d9b0f6c3548da174a68c8ab8052abf0 (patch)
treed8ae242054a001f558db50735ce6fdca9a916537
parentda1d135a1834d20c0aa5d2f75ea15a0d7a9eba8a (diff)
downloadonline_test-b191455c7d9b0f6c3548da174a68c8ab8052abf0.tar.gz
online_test-b191455c7d9b0f6c3548da174a68c8ab8052abf0.tar.bz2
online_test-b191455c7d9b0f6c3548da174a68c8ab8052abf0.zip
Add email_verified decorator to check whether email is verified
-rw-r--r--yaksh/decorators.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/yaksh/decorators.py b/yaksh/decorators.py
new file mode 100644
index 0000000..f0d354c
--- /dev/null
+++ b/yaksh/decorators.py
@@ -0,0 +1,25 @@
+from django.shortcuts import render_to_response
+from django.conf import settings
+from django.template import RequestContext
+
+
+def email_verified(func):
+ """ This decorator is used to check if email is verified.
+ If email is not verified then redirect user for email
+ verification
+ """
+
+ def is_email_verified(request, *args, **kwargs):
+ ci = RequestContext(request)
+ user = request.user
+ context = {}
+ if not settings.IS_DEVELOPMENT:
+ if user.is_authenticated() and hasattr(user, 'profile'):
+ if not user.profile.is_email_verified:
+ context['success'] = False
+ context['msg'] = "Your account is not verified. \
+ Please verify your account"
+ return render_to_response('yaksh/activation_status.html',
+ context, context_instance=ci)
+ return func(request, *args, **kwargs)
+ return is_email_verified \ No newline at end of file