def changePassword(request): if request.method == "GET": data = ChangePasswordForm() return render_to_response('registration/changePassword.html', {'form': data, 'error': ""}, context_instance=RequestContext(request)) else: data = ChangePasswordForm(request.POST) error = "" if data.is_valid(): print data.cleaned_data if request.user.check_password(data.cleaned_data['oldPassword']): request.user.set_password(data.cleaned_data['newPassword']) request.user.save() return render_to_response('registration/changePasswordDone.html') else: error = 'پسورد وارد شده صحیح نمیباشد.' return render_to_response('registration/changePassword.html', {'form': data, 'error': error}, context_instance=RequestContext(request))
def change_password(request): """ A view to change the password of a logged in user """ try: is_loggedin, username = get_session_variables(request) if not is_loggedin: return HttpResponseRedirect("/register/login") # POST request if request.method == 'POST': form = ChangePasswordForm(request.POST) # Form inputs are valid if form.is_valid(): new_pass = request.POST['new_password'] old_password = hash_func(request.POST['old_password']) \ .hexdigest() new_password = hash_func(request.POST['new_password']) \ .hexdigest() confirm_new_password = hash_func( request.POST['confirm_new_password']) \ .hexdigest() user_data = User_info.objects.get(username=username) actual_pwd = user_data.password # Given current and stored passwords same if old_password == actual_pwd: # New and current passwords user provided are not same if new_password != actual_pwd: # Repass and new pass are same if new_password == confirm_new_password: user_data.password = new_password sendmail_after_pass_change( \ username, \ new_pass, \ user_data.email) user_data.save() return render_to_response( \ 'register/pass_success.html', {'username': username, \ 'is_loggedin': is_loggedin}, \ RequestContext(request)) # Repass and new pass are not same else: error = "New passwords doesn't match" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username' :username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # New and current password user provided are same else: error = "Your old and new password are same. Please \ choose a different password" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # Given current and stored passwords are not same else: error = "Current password and given password doesn't match" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # Form inputs is/are invalid else: form = ChangePasswordForm() return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin}, \ RequestContext(request)) return render_to_response( \ 'register/change_password.html', {'username': username, \ 'is_loggedin': is_loggedin}, \ RequestContext(request)) except KeyError: return error_key(request)
def change_password(request): """ A view to change the password of a logged in user """ try: is_loggedin, username = get_session_variables(request) if not is_loggedin: return HttpResponseRedirect("/register/login") # POST request if request.method == 'POST': form = ChangePasswordForm(request.POST) # Form inputs are valid if form.is_valid(): new_pass = request.POST['new_password'] old_password = hash_func(request.POST['old_password']) \ .hexdigest() new_password = hash_func(request.POST['new_password']) \ .hexdigest() confirm_new_password = hash_func( request.POST['confirm_new_password']) \ .hexdigest() user_data = User_info.objects.get(username = username) actual_pwd = user_data.password # Given current and stored passwords same if old_password == actual_pwd: # New and current passwords user provided are not same if new_password != actual_pwd: # Repass and new pass are same if new_password == confirm_new_password: user_data.password = new_password sendmail_after_pass_change( \ username, \ new_pass, \ user_data.email) user_data.save() return render_to_response( \ 'register/pass_success.html', {'username': username, \ 'is_loggedin': is_loggedin}, \ RequestContext(request)) # Repass and new pass are not same else: error = "New passwords doesn't match" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username' :username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # New and current password user provided are same else: error = "Your old and new password are same. Please \ choose a different password" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # Given current and stored passwords are not same else: error = "Current password and given password doesn't match" return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin, \ 'error':error}, \ RequestContext(request)) # Form inputs is/are invalid else: form = ChangePasswordForm() return render_to_response( \ 'register/change_password.html', {'form':form, \ 'username':username, \ 'is_loggedin':is_loggedin}, \ RequestContext(request)) return render_to_response( \ 'register/change_password.html', {'username': username, \ 'is_loggedin': is_loggedin}, \ RequestContext(request)) except KeyError: return error_key(request)