X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dcompta/operations/saisir.php?a=blobdiff_plain;f=main.py;h=ea1179ecd368a5763122d941382ff56519dc9fd5;hb=0f09675e8149eeb42dcc6985e82ae445f4705238;hp=374ffebad12d8c64ca5d7db76ffbefc25d3bdef5;hpb=5779a4bc0cb5ed68a568e1b7f532ad978cd41910;p=cavote.git diff --git a/main.py b/main.py index 374ffeb..ea1179e 100755 --- a/main.py +++ b/main.py @@ -32,20 +32,68 @@ def teardown_request(exception): def home(): return render_template('index.html') -@app.route('/admin/votes') -def show_votes(): - cur = g.db.execute('select title, description, date_begin, date_end from votes order by id desc') + +#---------------- +# Login / Logout + +@app.route('/login', methods=['GET', 'POST']) +def login(): + error = None + if request.method == 'POST': + if request.form['username'] != app.config['USERNAME']: + error = 'Invalid username' + elif request.form['password'] != app.config['PASSWORD']: + error = 'Invalid password' + else: + session['logged_in'] = True + session['nickname'] = request.form['username'] + if session['nickname'] == 'admin': + session['is_admin'] = True + flash('You were logged in') + return redirect(url_for('home')) + return render_template('login.html', error=error) + +@app.route('/logout') +def logout(): + session.pop('logged_in', None) + flash('You were logged out') + return redirect(url_for('home')) + +#--------------- +# User settings + +#------------ +# User admin + + +#------------ +# Votes list + +@app.route('/votes/') +def show_votes(votes): + today = date.today().strftime('%d %B %Y') + if votes == 'all': + cur = g.db.execute('select title, description, date_begin, date_end from votes order by id desc') + elif votes == 'archives': + cur = g.db.execute('select title, description, date_begin, date_end from votes where date_end < :today order by id desc', {"today" : today}) + elif votes == 'currently': + cur = g.db.execute('select title, description, date_begin, date_end from votes where date_end > :today order by id desc', {"today" : today}) + else: + abort(404) votes = [dict(title=row[0], description=row[1], date_begin=row[2], date_end=row[3], pourcent=60) for row in cur.fetchall()] return render_template('show_votes.html', votes=votes) -@app.route('/admin/votes/new') +#------------- +# Votes admin + +@app.route('/votes/admin/new') def new_vote(): if not session.get('logged_in'): abort(401) return render_template('new_vote.html') -@app.route('/admin/vote/add', methods=['POST']) +@app.route('/votes/admin/add', methods=['POST']) def add_vote(): if not session.get('logged_in'): abort(401) @@ -66,32 +114,9 @@ def add_vote(): flash('New entry was successfully posted') return redirect(url_for('home')) -@app.route('/login', methods=['GET', 'POST']) -def login(): - error = None - if request.method == 'POST': - if request.form['username'] != app.config['USERNAME']: - error = 'Invalid username' - elif request.form['password'] != app.config['PASSWORD']: - error = 'Invalid password' - else: - session['logged_in'] = True - session['nickname'] = request.form['username'] - if session['nickname'] == 'admin': - session['is_admin'] = True - flash('You were logged in') - return redirect(url_for('home')) - return render_template('login.html', error=error) - -@app.route('/logout') -def logout(): - session.pop('logged_in', None) - flash('You were logged out') - return redirect(url_for('home')) - - +#------ +# Main if __name__ == '__main__': app.run() -