import uuid

from flask import Flask, render_template, redirect, request, Blueprint, session
from model import Question, Answer, Submit

questions = Blueprint("questions", "questions")

@questions.route("/")
def index():
    if "token" in session:
        return render_template("feedback.jinja", message="Vielen Dank für deine Antworten!")
    return render_template("index.jinja", questions=Question.select())

@questions.route("/submit", methods=["POST"])
def submit_answers():

    if "token" in session:
        return "nanan, du hast schon!"

    token = uuid.uuid4()
    session["token"] = token

    submit = Submit.get_or_create(token=token)[0]

    question_ids = request.form.getlist("question_ids[]")

    if question_ids is None:
        return render_template("feedback.jinja", message="ERROR: Keine Question-ID übermittelt!")

    for question_id in question_ids:
        question = Question.get_or_none(id=question_id)
        if question is None:
            return render_template("feedback.jinja", message="ERROR: Keine Frage mit der ID '%s' gefunden" % question_id)

        answer = request.form.get(question_id)
        answer = Answer.create(text=answer, question=question, submit=submit)
        answer.save()

    return render_template("feedback.jinja", message="Vielen Dank für deine Antworten!")