From 2c48c6a1923496c3d7ee79ea8e1c397db1399f85 Mon Sep 17 00:00:00 2001 From: Guillaume Subiron Date: Tue, 29 May 2012 17:20:42 +0200 Subject: [PATCH] Administration des users et des votes --- main.py | 20 +++++++++++++--- templates/admin_users.html | 37 ++++++++++++++++++++++++++++ templates/admin_votes.html | 49 ++++++++++++++++++++++++++++++++++++++ templates/layout.html | 4 +++- templates/show_roles.html | 1 + 5 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 templates/admin_users.html create mode 100644 templates/admin_votes.html diff --git a/main.py b/main.py index 8a99adb..ac71277 100755 --- a/main.py +++ b/main.py @@ -144,6 +144,13 @@ def user_password(userid): #------------ # User admin +@app.route('/users/admin/list') +def admin_users(): + if not session.get('user').get('is_admin'): + abort(401) + users = query_db('select * from users order by id desc') + return render_template('admin_users.html', users=users) + @app.route('/users/admin/add', methods=['GET', 'POST']) def add_user(): if not session.get('user').get('is_admin'): @@ -207,13 +214,13 @@ def del_role(idrole): def show_votes(votes): today = date.today() active_button = votes - basequery = 'select *, roles.name as rolename from votes join roles on roles.id=votes.id_role' + basequery = 'select *, roles.name as rolename from votes join roles on roles.id=votes.id_role where open=1' if votes == 'all': votes = query_db(basequery + ' order by id desc') elif votes == 'archive': - votes = query_db(basequery + ' where date_end < (?) order by id desc', [today]) + votes = query_db(basequery + ' and date_end < (?) order by id desc', [today]) elif votes == 'current': - votes = query_db(basequery + ' where date_end >= (?) order by id desc', [today]) + votes = query_db(basequery + ' and date_end >= (?) order by id desc', [today]) else: abort(404) return render_template('show_votes.html', votes=votes, active_button=active_button) @@ -248,6 +255,13 @@ def show_vote(idvote): #------------- # Votes admin +@app.route('/votes/admin/list') +def admin_votes(): + if not session.get('user').get('is_admin'): + abort(401) + votes = query_db('select *, roles.name as rolename from votes join roles on roles.id=votes.id_role order by id desc') + return render_template('admin_votes.html', votes=votes) + @app.route('/votes/admin/add', methods=['GET', 'POST']) def add_vote(): if not session.get('user').get('is_admin'): diff --git a/templates/admin_users.html b/templates/admin_users.html new file mode 100644 index 0000000..937f885 --- /dev/null +++ b/templates/admin_users.html @@ -0,0 +1,37 @@ +{% extends "layout.html" %} +{% block subtitle %}Administrer les utilisateurs{% endblock %} +{% block body %} +
+
+ {% if not users %} +
Il n'y a aucun user.
+ {% else %} + + + + + + + + + + + + {% for user in users %} + + + + + + + + {% endfor %} + +
E-mailNomGroupesAdminActions
{{ user.email }}{{ user.name }}{% if user.is_admin %}Oui{% else %}Non{% endif %} + Éditer + Supprimer +
+

+ {% endif %} +{% endblock %} + diff --git a/templates/admin_votes.html b/templates/admin_votes.html new file mode 100644 index 0000000..e32ff33 --- /dev/null +++ b/templates/admin_votes.html @@ -0,0 +1,49 @@ +{% extends "layout.html" %} +{% block subtitle %}Administrer les votes{% endblock %} +{% block body %} +

+
+ {% if not votes %} +
Il n'y a aucun vote.
+ {% else %} + + + + + + + + + + + + + + {% for vote in votes %} + + + + + + + + + + {% endfor %} + +
NomStatutDeadlineGroupeCatégorieOptionsActions
{{ vote.title }}{% if vote.is_open %}Ouvert{% else %}Fermé{% endif %}{{ vote.date_end }}{{ vote.rolename }}{{ vote.category }} + {% if vote.is_transparent %}transparent{% endif %} + {% if vote.is_public %}public{% endif %} + {% if vote.is_multiplechoice %}choix multiple{% endif %} + Éditer
+

+ Légende : +

    +
  • transparent : Les utilisateurs peuvent voir les votes des autres
  • +
  • public : Tout le monde peut voir le vote
  • +
  • choix multiple : Les utilisateurs peuvent effectuer plusieurs choix
  • +
+

+ {% endif %} +{% endblock %} + diff --git a/templates/layout.html b/templates/layout.html index 66fd8e5..de19320 100644 --- a/templates/layout.html +++ b/templates/layout.html @@ -26,10 +26,12 @@ Admin {% endif %}
diff --git a/templates/show_roles.html b/templates/show_roles.html index c7bf157..3a7af9f 100644 --- a/templates/show_roles.html +++ b/templates/show_roles.html @@ -1,4 +1,5 @@ {% extends "layout.html" %} +{% block subtitle %}Administrer les votes{% endblock %} {% block body %}
-- 2.20.1