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))