is voter missing

This commit is contained in:
Ville Rantanen
2018-12-13 22:02:08 +02:00
parent f928449666
commit a1cf9ddc64
2 changed files with 17 additions and 0 deletions

View File

@@ -65,6 +65,8 @@ def vote(key, token = None):
if is_expired(form): if is_expired(form):
return render_template('blank.html', message = "Voting has closed") return render_template('blank.html', message = "Voting has closed")
if is_closed_vote(form): if is_closed_vote(form):
if is_voter(key, token):
return render_template('blank.html', message = "Token invalid")
if has_voted(key, token): if has_voted(key, token):
return render_template('blank.html', message = "Token already used") return render_template('blank.html', message = "Token already used")
valid_for = time_to_expiry(form) valid_for = time_to_expiry(form)
@@ -86,6 +88,8 @@ def save_vote():
if is_expired(form): if is_expired(form):
return render_template('blank.html', message = "Voting has closed") return render_template('blank.html', message = "Voting has closed")
if is_closed_vote(form): if is_closed_vote(form):
if is_voter(key, token):
return render_template('blank.html', message = "Token invalid")
if has_voted(key, token): if has_voted(key, token):
return render_template('blank.html', message = "Token already used") return render_template('blank.html', message = "Token already used")

View File

@@ -155,6 +155,19 @@ def is_show_results(form):
return form['show_results'] return form['show_results']
def is_voter(key, token):
if token == None:
return False
cur = g.db.cursor()
cur.execute(
"SELECT token FROM tokens WHERE token = ? AND question_set = ? AND role = 'voter'",
(
get_hash(token),
key
)
)
return len(cur.fetchall()) > 0
def parse_form(key): def parse_form(key):
form = { form = {
'expires': None, 'expires': None,