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)
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)