open voting, without tokens

This commit is contained in:
Ville Rantanen
2018-12-03 21:31:09 +02:00
parent 083915e69a
commit 1a8cc70914
6 changed files with 108 additions and 39 deletions

20
abot.py
View File

@@ -7,7 +7,7 @@ from utils import *
import manager
DATABASE = 'abot.sqlite'
DEBUG = False
DEBUG = True
SECRET_KEY = 'otwet6oi539iosf'
QUESTIONS = 'questions' # path to questions
@@ -51,7 +51,8 @@ def preview(key):
)
@app.route('/vote/<key>/<token>')
def vote(key, token):
@app.route('/vote/<key>')
def vote(key, token = None):
if not is_key(key):
return render_template('blank.html', message = "Unknown key")
form = parse_form(key)
@@ -61,8 +62,9 @@ def vote(key, token):
return render_template('blank.html', message = "Not published")
if is_expired(form):
return render_template('blank.html', message = "Voting has closed")
if has_voted(key, token):
return render_template('blank.html', message = "Token already used")
if is_closed_vote(form):
if has_voted(key, token):
return render_template('blank.html', message = "Token already used")
valid_for = time_to_expiry(form)
return render_template('vote.html', form = form, key = key, token = token, valid_for = valid_for)
@@ -81,13 +83,17 @@ def save_vote():
return render_template('blank.html', message = "Not published")
if is_expired(form):
return render_template('blank.html', message = "Voting has closed")
if has_voted(key, token):
return render_template('blank.html', message = "Token already used")
if is_closed_vote(form):
if has_voted(key, token):
return render_template('blank.html', message = "Token already used")
create_result_table(key)
write_vote(key, token, request.form, form) # using request.
summary = ''
if is_show_results(form):
summary = get_html_summary(key)
return render_template('thank_you.html')
return render_template('thank_you.html', summary = summary)
if __name__ == "__main__":
manager.main(DATABASE, QUESTIONS)