def login(): form = LoginForm() if form.validate_on_submit(): db_sess = db_session.create_session() user = db_sess.query(User).filter( User.email == form.email.data).first() print(user) if user != None: if User.check_password(user, form.password.data): save(form.email.data, form.password.data, "log") return redirect("/") else: return render_template("login.html", title="Авторизация", menu=menu, form=form, message="Неверный email или пароль") else: return render_template("login.html", title="Авторизация", menu=menu, form=form, message="Неверный email") return render_template("login.html", title="Авторизация", menu=menu, form=form)
def register(): form = User_register() if form.validate_on_submit(): user = User() user.name = form.name.data user.surname = form.surname.data user.age = form.age.data db_sess = db_session.create_session() a = db_sess.query(User).filter(User.email == form.email.data).first() if not form.email.data.endswith( 'gmail.com') and not form.email.data.endswith( 'mail.ru') and not form.email.data.endswith('yandex.com'): return render_template( 'register.html', message= "Почта должна оканчиватся на gmail.com, mail.ru или yandex.com", form=form) if not a: user.email = form.email.data else: return render_template('register.html', message="Такой E-mail уже зарегестрирован", form=form) if form.birth_date.data.count('.') == 2 or len( form.birth_date.data) != 10: user.birth_date = form.birth_date.data else: return render_template( 'register.html', message="пишите дату в формате 00(день).00(месяц).0000(год)", form=form) user.set_password(str(form.password.data)) stroka = [ f'Поздравляем с регистрацией {user.name} {user.surname}!', f'Вы зарегестрировались на нашем сайте', f'Вы указали что вам {user.age} лет и ваш день рождения {user.birth_date}!' ] stroka = '\n'.join(stroka) send_message(form.email.data, stroka) db_sess = db_session.create_session() db_sess.add(user) db_sess.commit() db_sess = db_session.create_session() user = db_sess.query(User).filter( User.email == form.email.data).first() if user and user.check_password(form.password.data): login_user(user, remember=True) return redirect("/") else: return render_template('register.html', message="Упс, что то ввели неправильно", form=form) return render_template('register.html', title='Регистрация', form=form)
def registration(): if current_user.is_authenticated: return redirect('/feed') form = RegistrationForm() if form.validate() and request.method == 'POST': if get_user_by_username(form.username.data): return '<h1>username has already taken</h1>' user = User() user.username = form.username.data user.name = form.name.data user.surname = form.surname.data # user.email = form.email.data # TODO: email verification user.set_password(form.password.data) session = create_session() session.add(user) session.commit() if user.check_password(form.password.data) and user.is_active: from datetime import timedelta if login_user(user, remember=True, duration=timedelta(days=50)): return redirect('/feed') else: return '<h1>unable to log you in</h1>' return redirect('/feed') return render_template('registration.html', form=form)