예제 #1
0
def render_survey(id, survey_id=0):
    # check if the id is a valid id if invite only
    # if there's no session with this id create it
    try:
        if survey_id != 0:
            db.create_session(id, survey_id)
    except:
        pass

    # get the session
    try:
        session = db.get_session(id)
    except:
        return render("/templates",
                      "error.html",
                      errormessage="Ongeldige toegangscode")

    # load the current question
    question = db.get_question(session["survey_id"],
                               session["question_ordernumber"])

    # get options if needed
    options = {}
    if question["type"] in {"1", "M"}:
        options = db.get_options(question["id"])

    # get the template for the question type
    template = get_template(question["type"])
    # load response of question if any
    response = db.get_response(id, question["id"])
    if question["type"] == "M":
        if response != None and len(response) > 0:
            response = map(int, response.split(","))
        else:
            response = []
    # render question
    return render("/templates",
                  template,
                  session_id=id,
                  question=question,
                  options=options,
                  response=response)
예제 #2
0
def test_question(question_id):
    # load the current question
    question = db.query("SELECT * FROM question WHERE id = %(question_id)s",
                        {'question_id': question_id})[0]

    # get options if needed
    options = {}
    if question["type"] in {"1", "M"}:
        options = db.get_options(question["id"])

    # get the template for the question type
    template = get_template(question["type"])
    # load response of question if any
    response = None
    if question["type"] == "M":
        response = []
    # render question
    return render("/templates",
                  template,
                  session_id=id,
                  question=question,
                  options=options,
                  response=response)
예제 #3
0
def _chart_options_for_poll(poll_id):
    options = database.get_options(poll_id)
    figure = charts.create_pie_chart(options)
    plt.show()