def password_reset_request(): if 'user_name' in session: return redirect(url_for('home')) form = PasswordResetRequestForm(request.form) print form if request.method == 'POST': if form.validate() == False: return render_template('reset_password.html', form=form) else: print "--------" print form user = UserDB.query.filter_by(email=form.email.data).first() if user: token = user.generate_reset_token() send_email(user.email, 'Reset Your Password', 'reset_password_mail', user=user, token=token, next=request.args.get('next')) flash( 'An email with instructions to reset your password has been sent to you.' ) print "email envoye" return redirect(url_for('login')) elif request.method == 'GET': return render_template('reset_password.html', form=form)
def request_new_password(request): if request.method == 'POST': form = PasswordResetRequestForm(request.POST) if form.is_valid(): data = form.cleaned_data a_user = User.objects.get(email=data['email']) a_key = ValidPasswordResetKey.objects.create(user=a_user) msg = _( "An email to reset your password has been sent to %s. Please check your email." ) % (a_user.email) if a_key.reset_password_key is not None: messages.success(request, msg) return HttpResponseRedirect(reverse('accounts_login')) else: msg = _("System unavailable, please try later.") messages.error(request, msg) #the form contained errors return render_to_response('accounts/request-new-password.html', {'form': form}, context_instance=RequestContext(request)) return render_to_response('accounts/request-new-password.html', {'form': PasswordResetRequestForm()}, context_instance=RequestContext(request))
def request_new_password(request): if request.method == 'POST': form = PasswordResetRequestForm(request.POST) if form.is_valid(): data = form.cleaned_data a_user=User.objects.get(email=data['email']) a_key=ValidPasswordResetKey.objects.create(user=a_user) msg = _("An email to reset your password has been sent to %s. Please check your email.") % (a_user.email) if a_key.reset_password_key is not None: messages.success(request, msg) return HttpResponseRedirect(reverse('accounts_login')) else: msg = _("System unavailable, please try later.") messages.error(request, msg) #the form contained errors return render_to_response('accounts/request-new-password.html', {'form': form}, context_instance = RequestContext(request)) return render_to_response('accounts/request-new-password.html', {'form': PasswordResetRequestForm()}, context_instance = RequestContext(request))
def password_reset(request): ''' форма запроса восстановления пароля принмает POST email записывает в activation_code хеш отправляет письмо ''' template = 'accounts_password_reset.html' data = dict() # form = PasswordResetRequestForm(request.POST) if request.method == 'POST': form = PasswordResetRequestForm(request.POST) if form.is_valid(): login = request.POST['login'] try: q_user = CustomUser.objects.get(username=login) h = hashlib.new('ripemd160') h.update("%s%s" % (q_user.username.encode("utf-8"), q_user.email.encode("utf-8"))) code_hash = h.hexdigest() content = u''' Здравствуйте! Кто-то, возможно вы, запросили восстановление пароля. Если это так, то перейдите по этой ссылке: http://62.109.9.197/password-reset-confirm/%s Вам будет предложено вести новый пароль. Если же вы не запрашивали изменение пароля, то просто поригнорируйте это письмо. ''' % (code_hash) send_mail([q_user.email,], 'Восстановление пароля на сайте stakos.ru', content) q_user.activation_code = code_hash q_user.save() messages.add_message(request, messages.INFO, 'Вам отправлено письмо с кодом.', fail_silently=True) except CustomUser.DoesNotExist: messages.add_message(request, messages.INFO, 'Что-то не так!', fail_silently=True) form = PasswordResetRequestForm(request.POST) else: data['form'] = PasswordResetRequestForm(request.POST) else: form = PasswordResetRequestForm() data['form'] = form t = loader.get_template(template) c = RequestContext(request,data, processors=[custom_proc]) return HttpResponse(t.render(c))
def reset(): if current_user.is_authenticated: ## 鉴别用户是不是登入状态 return redirect(url_for('index')) form = PasswordResetRequestForm() if form.validate_on_submit(): email = form.email.data user = User.query.filter_by(email=email).first() token = user.generate_password_token() # send_reset_password_mail(user, token) flash('email has send') return render_template('reset.html', form=form)
def send_password_reset_request(): if current_user.is_authenticated: return redirect(url_for('index')) form = PasswordResetRequestForm() if form.validate_on_submit(): email = form.email.data user = User.query.filter_by(email=email).first() token = user.generate_reset_password_token() send_reset_password_mail(user, token) flash('Password reset request mail is sent.please your mail', category='info') return render_template('send_password_reset_request.html', form=form)
def password_reset_request(): form = PasswordResetRequestForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user: token = user.generate_reset_token() send_email(user.email, 'Reset Your Password', 'auth/email/reset_password', user=user, token=token, next=request.args.get('next')) flash('An email with instructions to reset your password has been ' 'sent to you.') return render_template('auth/trans.html') return render_template('auth/reset_password.html', form=form)
def password_reset_request(): if not current_user.is_anonymous: return redirect(url_for('main.index')) form = PasswordResetRequestForm() if form.validate_on_submit(): user = User.query.filter_by(email = form.email.data).first() if user: token = user.generate_reset_token() send_email(user.email,'重置密码','auth/email/reset_password', user=user,token=token, next= request.args.get('next')) flash('已经发送了一封邮件给您,请注意查看。') return redirect(url_for('auth.login')) return render_template('auth/reset_password.html',form=form)
def password_reset_request(): if not current_user.is_anonymous: return redirect(url_for('main.index')) form = PasswordResetRequestForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user: token = user.generate_reset_token() sendMail(user.email, 'Reset Password', 'auth/mail/reset_password', user=user, token=token) flash('An email has been sent to you') return redirect(url_for('auth.login')) return render_template('auth/reset_password.html', form=form)
def password_reset_request(): if not current_user.is_anonymous: return redirect(url_for('main.index')) form = PasswordResetRequestForm() if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user: token = user.generate_reset_token() send_email(user.email, 'Reset Your Password', 'auth/email/reset_password', user=user, token=token, next=request.args.get('next')) flash('An email with instructions to reset your password has been ' 'sent to you.') return redirect(url_for('auth.login')) return render_template('auth/reset_password.html', form=form)
def password_reset_request(request): connection = mail.get_connection() connection.open() if request.method == "POST": form = PasswordResetRequestForm(request.POST) user = User.objects.get(email=request.POST['email']) if not user: form.errors['__all__'] = form.error_class( ['No users with this email address']) if (form.is_valid()): body_message = render_to_string( 'password_reset_email.html', { 'domain': get_current_site(request).domain, 'uid': urlsafe_base64_encode(force_bytes(user.id)), 'token': default_token_generator.make_token(user), 'user': user.username, }) email_message = EmailMessage("Password reset", body_message, '*****@*****.**', ['*****@*****.**']) email_message.content_subtype = 'html' email_message.send(fail_silently=False) return render(request, 'password_reset_email_sent.html') else: form = PasswordResetRequestForm() return render( request, 'password_reset_request.html', { 'form': form, 'form_title': 'Reset', 'action': reverse('password_reset_request') })