Exemplo n.º 1
0
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)
Exemplo n.º 2
0
Arquivo: views.py Projeto: umdsp/romeu
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))
Exemplo n.º 3
0
Arquivo: views.py Projeto: umdsp/romeu
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))
Exemplo n.º 4
0
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))
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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')
        })