aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2012-11-13 22:39:26 -0500
committerGuillaume Horel <guillaume.horel@gmail.com>2012-11-13 22:39:26 -0500
commit7bc18ad4630fe4c525ccb66f21d47486d5c48b2b (patch)
tree6a57a00b359a304892ed3b8b527ce66ca44e2e86
parentbc3d465296aa3ce28386f7895e29bfa4dfc2cb4d (diff)
downloadfamille-flask-7bc18ad4630fe4c525ccb66f21d47486d5c48b2b.tar.gz
Add the preview feature
not that well tested, so might kill your kitties.
-rw-r--r--README.md1
-rw-r--r--famille.py38
-rw-r--r--templates/news/add.html7
-rw-r--r--templates/news/preview.html26
4 files changed, 53 insertions, 19 deletions
diff --git a/README.md b/README.md
index bb4ba3a..c88383f 100644
--- a/README.md
+++ b/README.md
@@ -10,3 +10,4 @@ Done
* display dates using timeago.js
* Email notifications
* Tirer les noms pour le Cadoscope
+* Ajouter un bouton preview
diff --git a/famille.py b/famille.py
index c1fa510..686878b 100644
--- a/famille.py
+++ b/famille.py
@@ -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 %}