示例#1
0
def register():
    """Регистрация пользователя"""

    if current_user.is_authenticated:
        return redirect('/feed')

    form_reg = RegisterForm()
    form_log = LoginForm()

    # если форма заполнена и отправлена
    if form_reg.validate_on_submit():
        # проверка совпадения паролей
        if form_reg.password.data != form_reg.password_again.data:
            return render_template('enter_page.html',
                                   title='Главная',
                                   form_reg=form_reg,
                                   form_log=form_log,
                                   message_reg="Пароли не совпадают")

        db_session.global_init("db/database.sqlite")
        session = db_session.create_session()

        # проверка наличия почты в БД (почта должна быть уникальной)
        if session.query(User).filter(
                User.email == form_reg.email.data).first():
            return render_template('enter_page.html',
                                   title='Главная',
                                   form_reg=form_reg,
                                   form_log=form_log,
                                   message_reg="Такая почта уже есть")

        # проверка наличия ника в БД (ник должн быть уникальным)
        if session.query(User).filter(
                User.nickname == form_reg.nickname.data).first():
            return render_template('enter_page.html',
                                   title='Главная',
                                   form_reg=form_reg,
                                   form_log=form_log,
                                   message_reg="Такой пользователь уже есть")

        # если всё было корректно, добавляем пользователя
        post('http://sunsite.herokuapp.com/api/users',
             json={
                 'nickname': form_reg.nickname.data,
                 'email': form_reg.email.data,
                 'password': form_reg.password.data
             })
        return redirect('/')
    return render_template('enter_page.html',
                           title='Регистрация',
                           form_reg=form_reg,
                           form_log=form_log)
示例#2
0
def register():
    '''This functionallows users to register. Heence will add users to the system.'''
    register_form = RegisterForm()
    username = register_form.username.data
    email = register_form.email.data
    password = register_form.password.data
    if request.method == 'POST' and register_form.validate_on_submit():
        new_user = User(username, email, password)
        db.session.add(new_user)
        db.session.commit()
        flash('Registration successful')
        return redirect(url_for('create_short'))
    else:
        flash("Make sure all fields are filled with valid data")
    return render_template('register.html', register_form=register_form)
示例#3
0
def sign_up():
    """Renders sign up page."""
    form = RegisterForm()

    if form.validate_on_submit():

        username: str = form.username.data
        usertag: str = form.usertag.data
        password: str = form.password.data

        if validate_signup(usertag):
            user = register_user(username, usertag, password)
            login_user(user)
            return redirect(f"/user/{usertag}")

    return dict(form=form)
示例#4
0
def reqister():
    # Получение форм
    form = RegisterForm()
    if session.get('data'):
        name = session.get('data')['name']
    else:
        name = None

    # Проверка валидации формы
    if form.validate_on_submit():
        # Проверка повторного ввода пароля
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Пароли не совпадают",
                                   name=name)

        db_sess = db_session.create_session()  # Создание ссесии с БД

        # Проверка идентичности email адресса
        if db_sess.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   title='Регистрация',
                                   form=form,
                                   message="Такой пользователь уже есть",
                                   name=name)

        # Создание и добавление пользователя
        user = User(name=form.name.data,
                    email=form.email.data,
                    about=form.about.data,
                    couriers_added=0,
                    orders_added=0)
        user.set_password(form.password.data)
        db_sess.add(user)
        db_sess.commit()

        # Редирект на страницу авторизации
        return redirect('/login')

    # Успешный рендер страницы
    return render_template('register.html',
                           title='Регистрация',
                           form=form,
                           name=name)
def data_input():
    form = RegisterForm()
    if form.validate_on_submit():
        form.street.data = form.street.data if form.street.data != '' else choice(
            STREET_LIST) + '$' + str(randint(0, 100))
        form.fill.data = form.fill.data if form.fill.data != '' else randint(
            0, 100)
        form.days.data = form.days.data if form.days.data != '' else randint(
            0, 1000)

        loc = str(form.street.data)
        fill = str(form.fill.data)
        days = str(form.days.data)

        print('loc:', loc)
        print('fill:', fill)
        print('days:', days)
        return redirect('/add/' + loc + '&' + fill + '&' + days)
    return render_template('data_handle.html', form=form)
示例#6
0
def register():
	form = RegisterForm()
	if request.method == 'GET':
		return render_template('register.html', form=form)
	if form.validate_on_submit():
		# check user not already registered
		user = User.query.filter_by(email=form.email.data)
		if user.count() > 0:
			error_message = 'This email address has already been registered.'
			back_url = url_for('web.register')
			return render_template('generic-error.html', error_message=error_message, back_url=back_url), 400
		# add the new user
		user = User(form.nickname.data, form.email.data, form.password.data)
		db.session.add(user)
		db.session.commit()
		# log them in
		login_user(user)
		# redirect to home
		return redirect(url_for('web.index'))
	# return just the basic view
	return render_template('register.html', form=form)