Beispiel #1
0
def register():
    """Страница регистрации"""
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html',
                                   title='MyTube: Регистрация',
                                   form=form,
                                   message="Пароли не совпадают")
        db_sess = db_session.create_session()
        if db_sess.query(User).filter(User.email == form.email.data).first():
            return render_template('register.html',
                                   title='MyTube: Регистрация',
                                   form=form,
                                   message="Такой пользователь уже есть")
        user = User(
            name=form.name.data,
            email=form.email.data,
        )
        user.set_password(form.password.data)
        db_sess.add(user)
        db_sess.commit()
        return redirect('/login')
    return render_template('register.html',
                           title='MyTube: Регистрация',
                           form=form)
Beispiel #2
0
 def post(self):
     db_sess = db_session.create_session()
     username = request.args.get('username')
     password = request.args.get('password')
     email = request.args.get('email')
     if username is None or password is None or email is None:
         abort(
             400,
             message=
             'Missing arguments. You have to pass username, password and email'
         )
     if not valid_email(email):
         abort(400, message='Invalid email')
     if db_sess.query(User).filter(User.email == email).first():
         abort(400, message='User already registered')
     user = User(name=username, email=email)
     user.set_password(password)
     db_sess.add(user)
     db_sess.commit()
     return jsonify({'success': 'OK'})
Beispiel #3
0
def registration():
    """ Обработчик для регистрации пользователя """

    form = RegistrationForm()
    if form.validate_on_submit():
        session = db_session.create_session()

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

        # Создание нового пользователя
        user = User(
            nickname=form.nickname.data,
            email=form.email.data,
        )
        user.set_password(form.password.data)
        #

        # Отправка сообщения на указанную почту для подтверждения почты
        link = f'http://{host}:{port}/verifying_email/{user.nickname}/{user.email}' \
               f'/{user.password}/{user.get_token()}'
        send_email(app=app,
                   mail=mail,
                   subject='Change email',
                   sender=app.config['ADMINS'][0],
                   recipients=[form.email.data],
                   html_body=render_template('email_template.html',
                                             username=user.nickname,
                                             link=link))
        #

        return redirect(url_for('check_email'))

    return render_template('registration.html', title='Регистрация', form=form)