X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=main.py;h=298c72128be38b151d44df9f58a7d72f21df63d2;hb=92f3176d2fca9034c05c8efd145c0cd0e7b81928;hp=bff42a018d94c9d87586a810251feed88a4d2e7f;hpb=e39a423e56697a035ea099e1f0ab4af1917a5d9e;p=cavote.git diff --git a/main.py b/main.py index bff42a0..298c721 100755 --- a/main.py +++ b/main.py @@ -29,7 +29,7 @@ def teardown_request(exception): @app.route('/') def home(): - return render_template('index.html') + return render_template('index.html', active_button="home") def query_db(query, args=(), one=False): cur = g.db.execute(query, args) @@ -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'): @@ -206,15 +213,17 @@ def del_role(idrole): @app.route('/votes/') 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 where is_open=1' if votes == 'all': - votes = query_db('select * from votes order by id desc') + votes = query_db(basequery + ' order by id desc') elif votes == 'archive': - votes = query_db('select * from votes 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('select * from votes 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) + return render_template('show_votes.html', votes=votes, active_button=active_button) #------ # Vote @@ -233,18 +242,26 @@ def can_vote(idvote, iduser=-1): @app.route('/vote/') def show_vote(idvote): - vote = query_db('select * from votes where id=?', [idvote], one=True) + vote = query_db('select *, roles.name as rolename from votes join roles on roles.id=votes.id_role where votes.id=?', [idvote], one=True) if vote is None: abort(404) if can_see_vote(idvote, session.get('user').get('id')): choices = query_db('select * from choices where id_vote=?', [idvote]) - return render_template('vote.html', vote=vote, choices=choices, can_vote=can_vote(idvote, session.get('user').get('id'))) + attachments = query_db('select * from attachments where id_vote=?', [idvote]) + return render_template('vote.html', vote=vote, attachments=attachments, choices=choices, can_vote=can_vote(idvote, session.get('user').get('id'))) flash('Vous n\'avez pas le droit de voir ce vote, désolé.') return(url_for('home')) #------------- # 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'):