def post(self): args = self.parser.parse_args() if not current_user.is_authenticated: return JSON_abort(401, message="You should login first.") if not check_title(args["title"]): return JSON_abort(400, message="Forbidden symbols") editors = "" if args["editors"]: for nickname in args["editors"].split(", "): user = session.query(User).filter( User.nickname == nickname).first() if not user: return JSON_abort( 400, message=f"Nickname {nickname} not exist.") editors += str(user.id) + "," forum = Forum() forum.title = args["title"] forum.private = args["private"] forum.editors = editors forum.admin_id = current_user.id session.add(forum) session.commit() current_user.follow += str( session.query(Forum).order_by(Forum.id.desc()).first().id) + "," session.commit() return jsonify({'success': 'OK'})
def create_forum(): form = ForumForm() if form.validate_on_submit(): if not check_title(form.title.data): return render_template( 'create_forum.html', title='Создать форум', form=form, message=f"Название содержит недопустимые символы.") editors = "" if form.editors.data: for nickname in form.editors.data.split(", "): user = session.query(User).filter( User.nickname == nickname).first() if not user: return render_template( 'create_forum.html', title='Создать форум', form=form, message= f"Пользователя с ником {nickname} не существует.") editors += str(user.id) + "," forum = Forum() forum.title = form.title.data forum.private = form.private.data forum.editors = editors forum.admin_id = current_user.id session.add(forum) session.commit() current_user.follow += str( session.query(Forum).order_by(Forum.id.desc()).first().id) + "," session.commit() return redirect('/forums') return render_template('create_forum.html', title='Создать форум', form=form, message="")