aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--famille.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/famille.py b/famille.py
index 3ba4919..75205d0 100644
--- a/famille.py
+++ b/famille.py
@@ -188,19 +188,20 @@ def show_news(news_id):
@app.route('/news/<int:news_id>/edit', methods=['GET', 'POST'])
@login_required
def edit_news(news_id):
- db = db_session()
+ metadata = get_metadata()
+ news = Table('news', metadata, autoload = True)
if request.method == 'GET':
- news = query_db(db, "SELECT * from news WHERE news.id = ?",
- (news_id,), True)
+ stmt = select([news]).where(news.c.id = news_id)
+ news = query_db(stmt, True)
if news["user_id"] == session['user_id']:
return render_template('news/add.html', news=news)
elif request.method == 'POST':
- title = request.form['title']
- content = request.form['content']
- content_cache = rstify(content)
- db.execute("UPDATE news SET 'title'=?, 'content'=?, 'content_cache'=? "
- "WHERE news.id =?",
- (title, content, content_cache, news_id))
+ stmt = news.update().where(news.c.id = news_id).\
+ values(title = request.form['title'],
+ content_cache = rstify(request.form['content']),
+ content = request.form['content'])
+ db = db_session()
+ db.execute(stmt)
db.commit()
return redirect(url_for('show_news', news_id=news_id))