summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrabhu Ramachandran2017-05-25 17:42:42 +0530
committerGitHub2017-05-25 17:42:42 +0530
commit80b67d07ceaf4c73705a27ee0bfc905e30b19ac4 (patch)
treed828f6f7697438d8addf04140f6c32bd005aaf6f
parent7baaa70c0e7f660ad7482c3c3950eab171b27cd3 (diff)
parente6ab47d2ea99b703e3c261ad5e7b6785f6f8d5d5 (diff)
downloadonline_test-80b67d07ceaf4c73705a27ee0bfc905e30b19ac4.tar.gz
online_test-80b67d07ceaf4c73705a27ee0bfc905e30b19ac4.tar.bz2
online_test-80b67d07ceaf4c73705a27ee0bfc905e30b19ac4.zip
Merge pull request #296 from adityacp/fix_email_verfication_bug
Fix email verfication bug
-rw-r--r--yaksh/migrations/0007_alter_profile_activation_key.py20
-rw-r--r--yaksh/models.py2
-rw-r--r--yaksh/send_emails.py3
-rw-r--r--yaksh/views.py7
4 files changed, 28 insertions, 4 deletions
diff --git a/yaksh/migrations/0007_alter_profile_activation_key.py b/yaksh/migrations/0007_alter_profile_activation_key.py
new file mode 100644
index 0000000..bbada8c
--- /dev/null
+++ b/yaksh/migrations/0007_alter_profile_activation_key.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.5 on 2017-05-16 12:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('yaksh', '0006_release_0_6_0'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='profile',
+ name='activation_key',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ ]
diff --git a/yaksh/models.py b/yaksh/models.py
index 565bb23..79732cc 100644
--- a/yaksh/models.py
+++ b/yaksh/models.py
@@ -293,7 +293,7 @@ class Profile(models.Model):
choices=[(tz, tz) for tz in pytz.common_timezones]
)
is_email_verified = models.BooleanField(default=False)
- activation_key = models.CharField(max_length=40, blank=True, null=True)
+ activation_key = models.CharField(max_length=255, blank=True, null=True)
key_expiry_time = models.DateTimeField(blank=True, null=True)
def get_user_dir(self):
diff --git a/yaksh/send_emails.py b/yaksh/send_emails.py
index 8983024..24215dd 100644
--- a/yaksh/send_emails.py
+++ b/yaksh/send_emails.py
@@ -5,7 +5,6 @@ except ImportError:
from string import ascii_letters as letters
from string import digits, punctuation
import hashlib
-from random import randint
from textwrap import dedent
import smtplib
@@ -18,7 +17,7 @@ from django.core.mail import send_mass_mail, send_mail
def generate_activation_key(username):
""" Generate hashed secret key for email activation """
chars = letters + digits + punctuation
- secret_key = get_random_string(randint(10, 40), chars)
+ secret_key = get_random_string(20, chars)
return hashlib.sha256((secret_key + username).encode('utf-8')).hexdigest()
diff --git a/yaksh/views.py b/yaksh/views.py
index c7af5cc..7db0366 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -1543,7 +1543,10 @@ def new_activation(request, email=None):
user.profile.key_expiry_time = timezone.now() + \
timezone.timedelta(minutes=20)
user.profile.save()
- success, msg = send_user_mail(user.email, user.profile.activation_key)
+ new_user_data = User.objects.get(email=email)
+ success, msg = send_user_mail(new_user_data.email,
+ new_user_data.profile.activation_key
+ )
if success:
context['activation_msg'] = msg
else:
@@ -1555,6 +1558,8 @@ def new_activation(request, email=None):
context_instance=ci)
def update_email(request):
+ context = {}
+ ci = RequestContext(request)
if request.method == "POST":
email = request.POST.get('email')
username = request.POST.get('username')