def user_registration(): form = RegistrationForm() if form.validate_on_submit(): if form.password.data != form.password_again.data: return render_template('user_registration.html', title='Регистрация', form=form, message="Пароли не совпадают") db_sess = db_session.create_session() # создаём сессию if db_sess.query(People).filter( People.email == form.email.data).first(): return render_template('user_registration.html', title='Регистрация', form=form, message="Такой пользователь уже существует") if form.type.data == '2': role = 'Admin' else: role = 'User' user = People(name=form.name.data, surname=form.surname.data, email=form.email.data, role=role) user.set_password(form.password.data) db_sess.add(user) db_sess.commit() return render_template('user_registration.html', title='Регистрация', form=form)
def user_registration(): form = RegistrationForm() if form.validate_on_submit(): # проверяем нажата ли кнопка if form.password.data != form.password_again.data: # совпадают ли пароли ? return render_template('user_registration.html', title='Регистрация', form=form, message="Пароли не совпадают") db_sess = db_session.create_session() # создаём сессию if db_sess.query(People).filter(People.email == form.email.data).first( ): # уникален ли логин ? return render_template('user_registration.html', title='Регистрация', form=form, message="Такой пользователь уже существует") user = People( # собираем объект аккаунта name=form.name.data, surname=form.surname.data, email=form.email.data, role='User') user.set_password( form.password.data ) # устанавливаем пароль, добавляем в таблицу и комиттим db_sess.add(user) db_sess.commit() return redirect('/') # переводим на главную страничку return render_template('user_registration.html', title='Регистрация', form=form) # рендерим форму регистрации
def sign_up(): if is_authenticated(): return redirect(url_for('get_feed')) form = RegistrationForm() if form.validate_on_submit(): first_name = form.first_name.data last_name = form.last_name.data email = form.email.data password = form.password.data profile_picture = form.file.data create_new_user(first_name, last_name, email, password, profile_picture) return redirect(url_for('sign_in')) return render_template('sign_up.html', form=form)
def registration(): form = RegistrationForm() if form.validate_on_submit(): db_sess = db_session.create_session() user = User(surname=form.surname.data, name=form.name.data, age=form.age.data, email=form.email.data, hashed_password=form.password.data) db_sess.add(user) db_sess.commit() return redirect("/library/successful_registration") return render_template('registration.html', title='Регистрация', form=form, description='YLibrary')
def register(): """Обработчик страницы регистрации.""" form = RegistrationForm() # создаем форму регистрации if form.validate_on_submit(): session = create_session() # создаем объект User и загружаем в него данные из формы для регистрации user = User() user.name = form.name_field.data user.surname = form.surname_field.data user.birthday = form.birthday_field.data user.email = form.email_field.data user.phone_number = form.phone_number_field.data user.set_password(form.password_field.data) user.rank = session.query(Rank).filter(Rank.id == 1).first() session.add(user) session.commit() return redirect('/') return render_template('registration.html', form=form)
def register(): """ Регистрация. """ form = RegistrationForm() if form.validate_on_submit(): if form.name.data == "": # Проверка ввода имени. return render_template("register.html", message="Необходимо ввести имя", current_user=current_user, form=form) # Предупреждение. if form.surname.data == "": # Проверка ввода фамилии. return render_template( "register.html", message="Необходимо ввести фамилию", form=form, current_user=current_user) # Предупреждение. if form.login.data == "": # Проверка ввода логина. return render_template("register.html", message="Необходимо ввести логин (почту)", current_user=current_user, form=form) # Предупреждение. if form.password.data == "": # Если введённый пароль пуст. return render_template( "register.html", message="Необходимо ввести пароль", form=form, current_user=current_user) # Перенаправление на # страницу с предупреждением. if form.password.data != form.confirm_password.data or form.confirm_password.data == "": # Проверка ввода подтверждения и совпадения паролей. return render_template( "register.html", message="Пароли не совпадают", form=form, current_user=current_user) # Предупреждение. session = db_session.create_session() # Создание сессии. if form.photo.data: # Если получена фотография. filename = form.photo.data.filename # Получение имени. form.photo.data.save("static/image/users/" + form.login.data + "." + filename.split(".")[-1]) # Сохранение фотографии. if session.query(Users.User).filter( Users.User.email == form.login.data).first() is not None: # Проверка использования логина. return render_template("register.html", message="Подобный email уже используется.", current_user=current_user, form=form) # Предупреждение. user = Users.User() # Создание пользователя. user.email = form.login.data # Установка почты. user.password = generate_password_hash( form.password.data) # Установка пароля. user.name = form.name.data # Установка имени. user.surname = form.surname.data # Установка фамилии. user.money = 50.0 # Установка количества денег. user.photo = form.photo.data.filename.split( ".")[-1] if form.photo.data else "" # Установка # фото. session.add(user) # Добавление пользователя. session.commit() # Коммит в базу данных. login_user(user) # Вход. return redirect("/") # Предупреждение на главную страницу. return render_template("register.html", message="", current_user=current_user, form=form)
def edit_profile(): """ Изменеие профиля. """ if current_user.is_authenticated is False: # Если пользователь не авторизован. return redirect("/register") # Перенаправление на регистрацию. session = db_session.create_session() # Создание сессии. user = session.query(Users.User).get( current_user.id) # Получение пользователя. form = RegistrationForm() # Создание формы. if form.validate_on_submit(): # При подтверждении. if form.name.data == "": # Проверка имени. return render_template("edit_profile.html", message="Необходимо ввести имя", current_user=current_user, form=form) # Предупреждение. if form.surname.data == "": # Если введена пустая фамилия. return render_template( "edit_profile.html", message="Необходимо ввести фамилию", form=form, current_user=current_user) # Предупреждение. if form.login.data == "": # Проверка ввода логина. return render_template("edit_profile.html", message="Необходимо ввести логин (почту)", current_user=current_user, form=form) # Предупреждение. if form.password.data == "": # Если введённый пароль пуст. return render_template( "edit_profile.html", message="Необходимо ввести пароль", form=form, current_user=current_user) # Перенаправление на # страницу с предупреждением. if form.password.data == "": # Если введённый пароль пуст. return render_template( "edit_profile.html", message="Необходимо ввести пароль", form=form, current_user=current_user) # Перенаправление на # страницу с предупреждением. if form.password.data != form.confirm_password.data or form.confirm_password.data == "": # Проверка на совпадение паролей. return render_template( "edit_profile.html", message="Пароли не совпадают", form=form, current_user=current_user) # Перенаправление на # страницу с предупреждением. if check_password_hash(user.password, form.password.data): # Проверка пароля. user.name = form.name.data # Обновление имени. user.surname = form.surname.data # Обновление фамилии. user.login = form.login.data # Обновление логина. if form.photo.data: # Если прислана фотография. filename = form.photo.data.filename # Получение имени файла. form.photo.data.save("static/image/users/" + form.login.data + "." + filename.split(".")[-1]) # Сохранение фотографии. user.photo = form.photo.data.filename.split( ".")[-1] if form.photo.data else "" session.commit() # Коммит в базу данных. logout_user() # Выход пользователя из аккаунта. login_user(user) # Вход с обновлёнными данными. return redirect( "/account") # Перенаправление на страницу аккаунта. return render_template( "edit_profile.html", message="Ложный пароль", form=form, current_user=current_user) # Страница с предупреждением. return render_template("edit_profile.html", current_user=current_user, form=form, message="")