Clean fix of answer id validation

This commit is contained in:
Sauer 2019-04-13 22:22:36 +02:00
parent fb0ac080e5
commit 5c85e8cc47

View File

@ -44,7 +44,6 @@ class SolutionForm(Form):
def create_used_id_list():
data = list()
if not os.path.exists(datafile):
open(datafile, "a").close()
@ -54,16 +53,14 @@ def create_used_id_list():
data.append(line[0])
return data
def check_id(user_id):
def check_id(form, field):
used_ids = create_used_id_list()
if user_id in used_ids:
return True
else:
return False
if field.data not in used_ids:
raise validators.ValidationError('Leider keine gültige ID')
class AnswerForm(Form):
used_id_list = create_used_id_list()
user_id = StringField('Deine Id', [validators.InputRequired(), validators.AnyOf(values=used_id_list, message='Leider ist das keine gültige ID')])
user_id = StringField('Deine Id', [validators.InputRequired(), check_id])
@ -135,14 +132,10 @@ def admin_solution():
@app.route('/answers', methods=['GET', 'POST'])
def answers():
file_data = create_used_id_list()
print(file_data)
form = AnswerForm(request.form)
if request.method == 'POST':
print(request.form['user_id'])
if request.form['user_id'] in file_data:
ident = request.form['user_id']
return redirect(url_for('view_answers', user_id=ident))
if request.method == 'POST' and form.validate():
ident = request.form['user_id']
return redirect(url_for('view_answers', user_id=ident))
return render_template('answers.html', form=form, title='Sortierhut', text='Hallo, Admin Fooboar')
@app.route('/view_answers<user_id>')