Esempio n. 1
0
 def post(self):
     args = parser.parse_args()
     if not all(
             key in args for key in
         ['id', 'surname', 'name', 'age', 'nickname', 'email', 'password']):
         raise_error('Missing some keys to create, you need keys to create:'
                     'id, surname, name, age, nickname, email, password')
     session = db_session.create_session()
     if session.query(User).get(args['id']):
         raise_error('Id already exists')
     if session.query(User).filter(User.email == args['email']).first():
         raise_error("This email already exists")
     if session.query(User).filter(User.email == args['nickname']).first():
         raise_error("This nickname already exists")
     res = check_password(args['password'])
     if not res[0]:
         raise_error(res[1])
     user = User()
     user.id = args['id']
     user.name = args['name']
     user.surname = args['surname']
     user.age = args['age']
     user.nickname = args['nickname']
     user.status = 0
     user.email = args['email']
     user.background_image_id = 0
     user.set_password(args['password'])
     user.created_date = datetime.datetime.now()
     session.add(user)
     session.commit()
     return jsonify({'success': f'User {args["email"]} created'})
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        if form.password.data != form.password_again.data:
            return render_template('register.html', title='Регистрация', form=form, message="Пароли не совпадают",
                                   style=url_for('static', filename='css/style.css'),
                                   bgimg=get_image_profile(current_user))
        session = db_session.create_session()
        if session.query(User).filter(User.email == form.email.data).first():
            session.close()
            return render_template('register.html', title='Регистрация',
                                   form=form, message="Такой rjkzavrik уже существует",
                                   style=url_for('static', filename='css/style.css'),
                                   bgimg=get_image_profile(current_user))
        if session.query(User).filter(User.nickname == form.nickname.data).first():
            session.close()
            return render_template('register.html', title='Регистрация', form=form, message="Nickname уже занят",
                                   style=url_for('static', filename='css/style.css'),
                                   bgimg=get_image_profile(current_user))
        if '@' in form.nickname.data:
            session.close()
            return render_template('register.html', title='Регистрация', form=form, message="Символ @ недопустим в "
                                                                                            "nickname",
                                   style=url_for('static', filename='css/style.css'),
                                   bgimg=get_image_profile(current_user))
        res = check_password(form.password.data)
        if not res[0]:
            session.close()
            return render_template('register.html', title='Регистрация', form=form, message=res[1],
                                   style=url_for('static', filename='css/style.css'),
                                   bgimg=url_for('static', filename='img/background_img_1.png'))
        user = User()
        user.name = form.name.data
        user.email = form.email.data
        user.nickname = form.nickname.data
        user.surname = form.surname.data
        user.set_password(form.password.data)
        user.age = form.age.data
        user.status = 0
        user.background_image_id = 0
        user.created_date = datetime.datetime.now()
        session.add(user)
        session.commit()
        return redirect('/login')
    return render_template('register.html', title='Регистрация', form=form,
                           style=url_for('static', filename='css/style.css'),
                           bgimg=get_image_profile(current_user))