diff --git a/gruppenbildungsspiel.py b/gruppenbildungsspiel.py index 8e889aa..3fe6cad 100644 --- a/gruppenbildungsspiel.py +++ b/gruppenbildungsspiel.py @@ -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')