diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2012-11-13 22:39:26 -0500 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2012-11-13 22:39:26 -0500 |
| commit | 7bc18ad4630fe4c525ccb66f21d47486d5c48b2b (patch) | |
| tree | 6a57a00b359a304892ed3b8b527ce66ca44e2e86 | |
| parent | bc3d465296aa3ce28386f7895e29bfa4dfc2cb4d (diff) | |
| download | famille-flask-7bc18ad4630fe4c525ccb66f21d47486d5c48b2b.tar.gz | |
Add the preview feature
not that well tested, so might kill your kitties.
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | famille.py | 38 | ||||
| -rw-r--r-- | templates/news/add.html | 7 | ||||
| -rw-r--r-- | templates/news/preview.html | 26 |
4 files changed, 53 insertions, 19 deletions
@@ -10,3 +10,4 @@ Done * display dates using timeago.js * Email notifications * Tirer les noms pour le Cadoscope +* Ajouter un bouton preview @@ -110,23 +110,29 @@ def add_news(): if request.method == 'POST': content = request.form['content'] content_cache = rstify(content) + if 'Add' in request.form: + # send email + emails = query_db("SELECT email from users where notify=1") + emails = [email["email"] for email in emails] + if emails: + message = Message(request.form['title'], + sender="news.horel@gmail.com") + message.html = content_cache + message.recipients = list(emails) + mail.send(message) - # send email - emails = query_db("SELECT email from users where notify=1") - emails = [email["email"] for email in emails] - message = Message(request.form['title'], sender="news.horel@gmail.com") - message.html = content_cache - message.recipients = emails - mail.send(message) - - cur = g.db.execute("INSERT INTO news " - "('title', 'content', 'user_id', 'content_cache') " - "VALUES (?, ?, ?, ?)", - (request.form['title'], content, - session['user_id'], content_cache)) - news_id = cur.lastrowid - g.db.commit() - return redirect(url_for('show_news', news_id=news_id)) + cur = g.db.execute("INSERT INTO news " + "('title', 'content', 'user_id', 'content_cache') " + "VALUES (?, ?, ?, ?)", + (request.form['title'], content, + session['user_id'], content_cache)) + news_id = cur.lastrowid + g.db.commit() + return redirect(url_for('show_news', news_id=news_id)) + else: + news = {'content': content,'content_cache': content_cache, + 'title': request.form['title']} + return render_template("news/preview.html", news=news) elif request.method == 'GET': return render_template("news/add.html") diff --git a/templates/news/add.html b/templates/news/add.html index 2d461e6..11c21bb 100644 --- a/templates/news/add.html +++ b/templates/news/add.html @@ -9,12 +9,12 @@ <form class="news_add" action="{{ url_for('edit_news', news_id=news.id)}}" method="post"> <p> <label for="title">Titre :</label> - <input id="title" type="text" name="title" size="64" value="{{news.title}}"> + <input id="title" type="text" name="title" size="64" value="{{news.title}}"/> </p> <label for="content">Contenu :</label> <textarea rows="25" name="content">{{news.content}}</textarea> <p class="submit"> - <input type="submit" value="Modifier"> + <input type="submit" value="Modifier" /> </p> {% else %} <form class="news_add" action="{{ url_for('add_news')}}" method="post"> @@ -25,7 +25,8 @@ <label for="content">Contenu :</label> <textarea rows="25" name="content"></textarea> <p class="submit"> - <input type="submit" value="Ajouter"> + <input type="submit" name="Add" value="Ajouter"/> + <input type="submit" name="Preview" value="Aperçu"/> </p> {% endif %} </form> diff --git a/templates/news/preview.html b/templates/news/preview.html new file mode 100644 index 0000000..0127f4c --- /dev/null +++ b/templates/news/preview.html @@ -0,0 +1,26 @@ +{% extends 'layout.html' %} + +{% block content %} +<p class="info"> + Vous pouvez consulter la <a href="http://aful.org/wikis/interop/ReStructuredText">page d'aide</a> pour obtenir de l'aide sur la syntaxe et les commandes de mise en forme disponibles. +</p> +<h2>Aperçu de l'actualité</h2> +<h1>{{news.title}}</h1> +<div class="news_content"> +{{news.content_cache|safe}} +</div> +<hr/> +<h2>Ajouter une actualité</h2> +<form class="news_add" action="{{ url_for('add_news')}}" method="post"> + <p> + <label for="title">Titre :</label> + <input id="title" type="text" name="title" size="64" value="{{news.title}}"/> + </p> + <label for="content">Contenu :</label> + <textarea rows="25" name="content">{{news.content}}</textarea> + <p class="submit"> + <input type="submit" name="Add" value="Ajouter" /> + <input type="submit" name="Preview" value="Aperçu" /> + </p> +</form> +{% endblock %} |
