Ejemplo n.º 1
0
def quiz_list():
    current_app.logger.debug("quiz_list")

    quizes = Quiz.get_quizes_by_user_id(current_user.id)

    for q in quizes:
        q.quiz_results = QuizResult.get_quiz_results_only_by_quiz_id(q.qid)

    lat = 37.4419
    lon = -122.1419

    if len(quizes) > 0:
        lat = quizes[0].latitude
        lon = quizes[0].longitude

    def serialize_for_left_menu(q):
        return {
            "quiz_results": [qr.serialize_for_statistics for qr in q.quiz_results],
            "quiz": q.serialize_for_result
        }

    jsdata = {
              "latitude": lat,
              "longitude": lon,
              "quizes": [serialize_for_left_menu(q) for q in quizes]
              }

    return render_template("quiz_list.html", quizes=quizes, jsdata=jsdata, \
                           active_page="quiz_list", showTour=(not current_user.isTrained()))
Ejemplo n.º 2
0
def quiz_map_edit(quiz_id):
    current_app.logger.debug("quiz_edit. quiz_id - " + str(quiz_id))

    quizes = Quiz.get_quizes_by_user_id(current_user.id)

    for q in quizes:
        q.quiz_results = QuizResult.get_quiz_results_only_by_quiz_id(q.qid)

    quiz = Quiz.get_quiz_by_id(quiz_id)

    quiz_results = QuizResult.get_quiz_results_only_by_quiz_id(quiz_id)

    def serialize_for_left_menu(q):
        return {
            "quiz_results": [qr.serialize_for_statistics for qr in q.quiz_results],
            "quiz": q.serialize_for_result
        }

    jsdata = {
              "quiz_results": [i.serialize_for_statistics for i in quiz_results],
              "quizes": [serialize_for_left_menu(q) for q in quizes]
              }

    if quiz:
        if current_user.id == quiz.user_id:
            return render_template("quiz_map_edit.html", quiz=quiz, quizes=quizes, \
                                   active_page='quiz_edit', jsdata=jsdata, showTour=(not current_user.isTrained()))
        else:
            return render_template("auth_failure.html")
    else:
        current_app.logger.warning("No quiz found")        
        return render_template("404.html")