Beispiel #1
0
    def post(self, key):
        checking_api_key(key)

        args = post_parser.parse_args()
        abort_if_user_not_found(args['user_id'])

        session = db_session.create_session()
        categories = session.query(Category).all()
        if args['category'] is None or args['category'] not in list(
                map(lambda x: x.name, categories)):
            return jsonify(
                {"Error": {
                    "message": "Такая категория не существует"
                }})
        news = News()
        news.name = args['name']
        news.content = args['content']
        news.user_id = args['user_id']
        news.category_id = session.query(Category).filter(
            Category.name == args["category"]).first().id
        session.add(news)
        session.commit()
        return jsonify({'success': 'OK'})
Beispiel #2
0
def add_news():
    form = NewsForm()
    db_sess = db_session.create_session()
    categories = db_sess.query(Category).all()
    category = [(i.id, i.name) for i in db_sess.query(Category).all()]
    form.category.choices = category
    if form.validate_on_submit():
        news = News()
        news.title = form.title.data
        # news.content = form.content.data
        logging.warning(form)
        # news.content = form.content.data
        news.content = request.form.get('content')
        news.is_published = form.is_published.data
        news.category_id = form.category.data
        current_user.news.append(news)
        # мы изменили текущего пользователя с помощью метода merge
        db_sess.merge(current_user)
        db_sess.commit()
        return redirect('/')
    return render_template('news.html',
                           title='Добавление новости',
                           form=form,
                           category=categories)