summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhardythe12014-04-09 17:24:54 +0530
committerhardythe12014-04-09 17:24:54 +0530
commite3f75831b30be9325faf49569fa0cf40d9b85db6 (patch)
tree12f454725bec342b88d87bc9b3fa240e04675361
parent9a8b53230e7fcf457ce5668f7322844bcde1b196 (diff)
downloadPython-TBC-Interface-e3f75831b30be9325faf49569fa0cf40d9b85db6.tar.gz
Python-TBC-Interface-e3f75831b30be9325faf49569fa0cf40d9b85db6.tar.bz2
Python-TBC-Interface-e3f75831b30be9325faf49569fa0cf40d9b85db6.zip
adding view or forgot password and update password
-rwxr-xr-xtbc/views.py81
1 files changed, 77 insertions, 4 deletions
diff --git a/tbc/views.py b/tbc/views.py
index d5cbafa..e39efd2 100755
--- a/tbc/views.py
+++ b/tbc/views.py
@@ -10,6 +10,8 @@ import zipfile
import StringIO
import smtplib
import shutil
+import string
+import random
from email.mime.text import MIMEText
@@ -94,6 +96,7 @@ def Home(request):
def UserLogin(request):
context = {}
+ context.update(csrf(request))
if 'require_login' in request.GET:
context['require_login'] = True
if request.method == 'POST':
@@ -102,7 +105,6 @@ def UserLogin(request):
password = request.POST['password']
if username == "" or password == "":
form = UserLoginForm()
- context.update(csrf(request))
context['form'] = form
context['empty'] = True
return render_to_response('tbc/login.html', context)
@@ -111,11 +113,10 @@ def UserLogin(request):
login(request, curr_user)
else:
form = UserLoginForm()
- context.update(csrf(request))
context['form'] = form
context['invalid'] = True
return render_to_response('tbc/login.html', context)
- if is_reviewer(user):
+ if is_reviewer(curr_user):
context['reviewer'] = curr_user
return HttpResponseRedirect("/book-review")
else:
@@ -129,7 +130,6 @@ def UserLogin(request):
form = UserLoginForm()
if 'signup' in request.GET:
context['signup'] = True
- context.update(csrf(request))
context['form'] = form
return render_to_response('tbc/login.html', context)
@@ -186,6 +186,79 @@ def UserLogout(request):
if user.is_authenticated() and user.is_active:
logout(request)
return redirect('/?logout=done')
+
+
+def ForgotPassword(request):
+ context = {}
+ user_emails = []
+ context.update(csrf(request))
+ if request.user.is_anonymous():
+ context['anonymous'] = True
+ if request.method == 'POST':
+ email = request.POST['email']
+ profiles = Profile.objects.all()
+ for profile in profiles:
+ user_emails.append(profile.user.email)
+ if email in user_emails:
+ user = User.objects.get(email=email)
+ password = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(8))
+ print password
+ user.set_password(password)
+ user.save()
+ subject = "PythonTBC: Password Reset"
+ message = "Dear "+user.first_name+",\n"+"We have reset the password\
+ for you. Your credentials are:\n"+"Username: "+user.username+"\n\
+ Password: "+password+"\n\nYou can use this password to login. We \
+ recommend that you update your password through the link given \
+ below, once you have logged in successfully.\
+ Link: http://tbc-python.fossee.in/update-password.\n\nThank You !"
+ #email_send(email, subject, message)
+ form = UserLoginForm()
+ context['form'] = form
+ context['forgot_pass_redirection'] = True
+ return render_to_response("tbc/login.html", context)
+ else:
+ context['invalid_email'] = True
+ return render_to_response("tbc/forgot-password.html", context)
+ else:
+ return render_to_response("tbc/forgot-password.html", context)
+
+
+def UpdatePassword(request):
+ user = request.user
+ context = {}
+ context.update(csrf(request))
+ if user.is_authenticated():
+ if request.method == 'POST':
+ new_password = request.POST['new_password']
+ confirm = request.POST['confirm_new_password']
+ if new_password == "" or confirm == "":
+ form = PasswordResetForm()
+ context['empty'] = True
+ context['form'] = form
+ return render_to_response("tbc/update-password.html", context)
+ if new_password == confirm:
+ user.set_password(new_password)
+ user.save()
+ form = UserLoginForm()
+ context['password_updated'] = True
+ context['form'] = form
+ logout(request)
+ return render_to_response("tbc/login.html", context)
+ else:
+ form = PasswordResetForm()
+ context['no_match'] = True
+ context['form'] = form
+ return render_to_response("tbc/update-password.html", context)
+ else:
+ form = PasswordResetForm()
+ context['form'] = form
+ return render_to_response("tbc/update-password.html", context)
+ else:
+ form = UserLoginForm()
+ context['form'] = form
+ context['require_login'] = True
+ return render_to_response("tbc/login.html", context)
def SubmitBook(request):