Beispiel #1
0
def changemail():
    form = ChangeMailForm()
    if form.validate_on_submit():
        #  Проверка на правильность пароля и старой почты
        real_password = User.get_password(session['username'])
        check = pbkdf2_sha256.verify(request.form['password'], real_password)
        if check != True:
            return render_template('change_email.html', error_text = 'Вы ввели неправильный пароль.', form=form)
        if form.old_email.data != User.get_email(session['username']):
            return render_template('change_email.html', error_text = 'Вы ввели неправильный старый email.', form=form)

        # Проверка на уникальность новой почты
        users = User.get_all()
        for i in users:
            if (form.new_email.data == i.email):
                return render_template('change_email.html', error_text = 'Пользователь с такой почтой уже существует.', form=form)
        # Сохранение новых данных
        User.query.filter_by(login=session['username']).update(dict(email=form.new_email.data))
        db.session.commit()
        return redirect('/account')
    return render_template('change_email.html', form=form)
Beispiel #2
0
def change():
    form = ChangePasswordForm()
    if form.validate_on_submit():
        # Проверка на то, что ввели настоящий старый пароль
        old_pass = form.old_password.data
        real_old_pass = User.get_password(session['username'])
        check = pbkdf2_sha256.verify(request.form['old_password'], real_old_pass)
        if check != True:
            return render_template('change_pass.html', error_text='Вы ввели неправильный старый пароль.', form=form)

        new_pass = form.new_password.data
        confirm_new_pass = form.confirm_new_password.data
        # Проверка на то, что новый пароль не совпадает со старым.
        if request.form['old_password'] == request.form['new_password']:
            return render_template('change_pass.html', error_text='Новый пароль не может совпадать со старым.', form=form)
        new_secret = pbkdf2_sha256.hash(new_pass)
        # Сохранение новых данных
        User.query.filter_by(login=session['username']).update(dict(password=new_secret))
        db.session.commit()
        return redirect('/account')
    return render_template('change_pass.html', form=form)