From 309bdf4983b09c729ddc9b03f9171d6b1dd7fb06 Mon Sep 17 00:00:00 2001 From: asauer Date: Sat, 13 Apr 2019 21:58:30 +0200 Subject: [PATCH] Dirty fix for id validation on answer page --- gruppenbildungsspiel.py | 42 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/gruppenbildungsspiel.py b/gruppenbildungsspiel.py index 5d21782..8e889aa 100644 --- a/gruppenbildungsspiel.py +++ b/gruppenbildungsspiel.py @@ -6,6 +6,7 @@ import smtplib from email.message import EmailMessage from wtforms import Form, StringField, SelectField, RadioField, TextAreaField, BooleanField, validators from wtforms.fields.html5 import EmailField +import importlib app = Flask(__name__) app.jinja_env.trim_blocks = True @@ -41,7 +42,6 @@ class SolutionForm(Form): question = RadioField(u'Welche Frage ist ausschlaggebend für die Hauszuordnung?', choices=choices, validators=[validators.InputRequired(message='Bitte ankreuzen'),]) solution_text = TextAreaField(u'Textfeld') - def create_used_id_list(): data = list() @@ -54,29 +54,23 @@ def create_used_id_list(): data.append(line[0]) return data +def check_id(user_id): + used_ids = create_used_id_list() + if user_id in used_ids: + return True + else: + return False class AnswerForm(Form): - user_id = StringField('Deine Id', [validators.InputRequired(), validators.AnyOf(values=create_used_id_list(), message='Leider ist das keine gültige ID')]) + 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')]) + @app.route('/') def index(): return render_template('index.html', title='Sortierhut') -def send_mail(user_id): - with open(mailfile) as f: - msg = EmailMessage() - msg.set_content(f.read()) - - msg['Subject'] = 'Deine Sortierhut-ID' - msg['From'] = 'anna-carina-dorothea.sauer@stud.uni-bamberg.de' - msg['To'] = 'anna-carina-dorothea.sauer@stud.uni-bamberg.de' - - s = smtplib.SMTP('localhost') - s.send_message(msg) - s.quit() - return - @app.route('/questions', methods=['GET', 'POST']) def questions(): form = QuestionForm(request.form) @@ -87,12 +81,10 @@ def questions(): new_row.append(new_id) for item in request.form: new_row.append(request.form[item]) + if len(new_row) == 6: + new_row.append('n') writer = csv.writer(f) writer.writerow(new_row) - # user = User() - # user.name = form.username - # spirit = request.form['spirit_animal'] - # user.save() return redirect(url_for('result', user_id=new_id)) return render_template('questions.html', form=form, title='Sortierhut') @@ -143,10 +135,14 @@ 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' and form.validate(): - ident = request.form['user_id'] - return redirect(url_for('view_answers', user_id=ident)) + 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)) return render_template('answers.html', form=form, title='Sortierhut', text='Hallo, Admin Fooboar') @app.route('/view_answers')