diff --git a/stacosys/interface/templates/admin_fr.html b/stacosys/interface/templates/admin_fr.html index ee77e35..bfe3221 100644 --- a/stacosys/interface/templates/admin_fr.html +++ b/stacosys/interface/templates/admin_fr.html @@ -8,10 +8,13 @@
-

Modération des commentaires

+

Modération des commentaires

+
- {% with messages = get_flashed_messages() %} + {% with messages = get_flashed_messages() %} {% if messages %}
{% for message in messages %} @@ -19,7 +22,7 @@ {% endfor %}
{% endif %} - {% endwith %} + {% endwith %} @@ -38,12 +41,12 @@
{{ comment.content }} {{ comment.url }} -
+
-
+ diff --git a/stacosys/interface/templates/login_fr.html b/stacosys/interface/templates/login_fr.html new file mode 100644 index 0000000..e43d951 --- /dev/null +++ b/stacosys/interface/templates/login_fr.html @@ -0,0 +1,42 @@ + + + + + +Stacosys + + + + +
+

Modération des commentaires

+
+
+ {% with messages = get_flashed_messages() %} + {% if messages %} +
+ {% for message in messages %} +

{{ message }}

+ {% endfor %} +
+ {% endif %} + {% endwith %} + +

+

+

+

+ + +
+ + + diff --git a/stacosys/interface/web/admin.py b/stacosys/interface/web/admin.py index df77ba9..32104e5 100644 --- a/stacosys/interface/web/admin.py +++ b/stacosys/interface/web/admin.py @@ -3,22 +3,49 @@ import logging -from flask import request, redirect, flash, render_template +from flask import request, redirect, flash, render_template, session from stacosys.db import dao from stacosys.interface import app logger = logging.getLogger(__name__) +user = {"username": "admin", "password": "toto"} -@app.route("/web", methods=["GET"]) + +@app.route('/web/login', methods=['POST', 'GET']) +def login(): + if request.method == 'POST': + username = request.form.get('username') + password = request.form.get('password') + if username == user['username'] and password == user['password']: + session['user'] = username + return redirect('/web/admin') + + flash("Identifiant ou mot de passe incorrect") + return redirect('/web/login') + + return render_template("login_" + app.config.get("LANG") + ".html") + + +@app.route('/web/logout', methods=["GET"]) +def logout(): + session.pop('user') + return redirect('/web/login') + + +@app.route("/web/admin", methods=["GET"]) def admin_homepage(): + if not ('user' in session and session['user'] == user['username']): + flash("Vous avez été déconnecté.") + return redirect('/web/login') + comments = dao.find_not_published_comments() return render_template("admin_" + app.config.get("LANG") + ".html", comments=comments, baseurl=app.config.get("SITE_URL")) -@app.route("/web", methods=["POST"]) +@app.route("/web/admin", methods=["POST"]) def admin_action(): flash(request.form.get("comment") + " " + request.form.get("action")) - return redirect('/web') + return redirect('/web/admin')