Пример #1
0
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)
Пример #2
0
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)  # рендерим форму регистрации
Пример #3
0
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)
Пример #4
0
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')
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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="")