aboutsummaryrefslogtreecommitdiffstats
path: root/famille.py
diff options
context:
space:
mode:
Diffstat (limited to 'famille.py')
-rw-r--r--famille.py35
1 files changed, 28 insertions, 7 deletions
diff --git a/famille.py b/famille.py
index e0fc798..4e6a716 100644
--- a/famille.py
+++ b/famille.py
@@ -61,11 +61,13 @@ def list_news():
@login_required
def add_news():
if request.method == 'POST':
- content = rstify(request.form['content'])
- cur = g.db.execute("INSERT INTO news ('title', 'content', 'user_id') "
- "VALUES (?, ?, ?)",
+ content = request.form['content']
+ content_cache = rstify(content)
+ cur = g.db.execute("INSERT INTO news "
+ "('title', 'content', 'user_id', 'content_cache') "
+ "VALUES (?, ?, ?, ?)",
(request.form['title'], content,
- session['user_id']))
+ session['user_id'], content_cache))
news_id = cur.lastrowid
g.db.commit()
return redirect(url_for('show_news', news_id=news_id))
@@ -84,9 +86,28 @@ def show_news(news_id):
return render_template("news/show.html", news=news, comments=comments)
elif request.method == 'POST':
user_id = session['user_id']
- content = rstify(request.form['content'])
- g.db.execute("INSERT INTO comments ('user_id', 'content', 'news_id') "
- "VALUES (?, ?, ?)", (user_id, content, news_id))
+ content = request.form['content']
+ content_cache = rstify(content)
+ g.db.execute("INSERT INTO comments "
+ "('user_id', 'content', 'news_id', 'content_cache') "
+ "VALUES (?, ?, ?, ?)", (user_id, content, news_id, content_cache))
+ g.db.commit()
+ return redirect(url_for('show_news', news_id=news_id))
+
+@app.route('/news/<int:news_id>/edit', methods=['GET', 'POST'])
+@login_required
+def edit_news(news_id):
+ if request.method == 'GET':
+ news = query_db("SELECT * from news WHERE news.id = ?", (news_id,), 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)
+ g.db.execute("UPDATE news SET 'title'=?, 'content'=?, 'content_cache'=? "
+ "WHERE news.id =?",
+ (title, content, content_cache, news_id))
g.db.commit()
return redirect(url_for('show_news', news_id=news_id))