Example #1
0
def get_quiz_view(quiz_id):
    try:
        QuizProfile.get_by_composite_id(quiz_id,session['email'])
        abort(401)
    except NoSuchQuizProfileExistException as e:
        quiz = Quiz.get_by_id(quiz_id)
        return render_template('quiz/user/quiz.html', active_quiz=quiz.to_json())
Example #2
0
def submit_quiz():
    if request.get_json() is None:
        return jsonify({"result": "error", "field":"", "message": "Not valid model!"}), 200
    quiz = Quiz.factory_form_json(request.get_json())
    if quiz.get_points() is "":
        return jsonify({"result": "error", "field":"points", "message": "Points cannot be empty"}), 200
    if not quiz.is_valid_model():
        return jsonify({"result": "error", "field":"", "message": "Not valid model!"}), 200
    if len(quiz.get_title()) == 0:
        return jsonify({"result": "error", "field": "title", "message": "Title cannot be empty!"}), 200
    if quiz.get_points() < 0:
        return jsonify({"result": "error", "field":"points", "message": "Points cannot be less then 0!"}), 200
    quiz_real = Quiz.get_by_id(uuid.UUID(quiz._id))

    passed = False
    if quiz_real.mark_subbmitted_quiz(quiz):
        passed = True
    try:
        QuizProfile.get_by_composite_id(uuid.UUID(quiz._id),session['email'])
        return jsonify({"result": "ok", "field": "title", "message": "", "relocateTo": "/quiz_profile/"+str(quiz_real.get_id()) }), 200
    except NoSuchQuizProfileExistException as e:
        new_quiz_profile = QuizProfile(uuid.UUID(quiz._id),session['email'],datetime.now(),0,passed)
        new_quiz_profile.save_to_db()
        User.update_user_points(session['email'],"virtual",quiz_real.get_points())
        return jsonify({"result": "ok", "field": "title", "message": "", "relocateTo": "/quiz_profile/"+str(quiz_real.get_id())}), 200
Example #3
0
def get_quiz_view(quiz_id):
    try:
        QuizProfile.get_by_composite_id(quiz_id, session['email'])
        abort(401)
    except NoSuchQuizProfileExistException as e:
        quiz = Quiz.get_by_id(quiz_id)
        return render_template('quiz/user/quiz.html',
                               active_quiz=quiz.to_json())
Example #4
0
def get_quiz_profile_view(quiz_id):
    quiz_profile = None
    try:
        quiz_profile = QuizProfile.get_by_composite_id(quiz_id,session['email'])
        return render_template('quiz/user/quiz_profile.html', quiz_profile=quiz_profile.to_json(), quiz_id=quiz_id)
    except NoSuchQuizProfileExistException as e:
       return render_template('quiz/user/quiz_profile.html', quiz_profile=None, quiz_id=quiz_id)
Example #5
0
def get_quiz_profile_view(quiz_id):
    quiz_profile = None
    try:
        quiz_profile = QuizProfile.get_by_composite_id(quiz_id,
                                                       session['email'])
        return render_template('quiz/user/quiz_profile.html',
                               quiz_profile=quiz_profile.to_json(),
                               quiz_id=quiz_id)
    except NoSuchQuizProfileExistException as e:
        return render_template('quiz/user/quiz_profile.html',
                               quiz_profile=None,
                               quiz_id=quiz_id)
Example #6
0
def submit_quiz():
    if request.get_json() is None:
        return jsonify({
            "result": "error",
            "field": "",
            "message": "Not valid model!"
        }), 200
    quiz = Quiz.factory_form_json(request.get_json())
    if quiz.get_points() is "":
        return jsonify({
            "result": "error",
            "field": "points",
            "message": "Points cannot be empty"
        }), 200
    if not quiz.is_valid_model():
        return jsonify({
            "result": "error",
            "field": "",
            "message": "Not valid model!"
        }), 200
    if len(quiz.get_title()) == 0:
        return jsonify({
            "result": "error",
            "field": "title",
            "message": "Title cannot be empty!"
        }), 200
    if quiz.get_points() < 0:
        return jsonify({
            "result": "error",
            "field": "points",
            "message": "Points cannot be less then 0!"
        }), 200
    quiz_real = Quiz.get_by_id(uuid.UUID(quiz._id))

    passed = False
    if quiz_real.mark_subbmitted_quiz(quiz):
        passed = True
    try:
        QuizProfile.get_by_composite_id(uuid.UUID(quiz._id), session['email'])
        return jsonify({
            "result": "ok",
            "field": "title",
            "message": "",
            "relocateTo": "/quiz_profile/" + str(quiz_real.get_id())
        }), 200
    except NoSuchQuizProfileExistException as e:
        new_quiz_profile = QuizProfile(uuid.UUID(quiz._id), session['email'],
                                       datetime.now(), 0, passed)
        new_quiz_profile.save_to_db()
        User.update_user_points(session['email'], "virtual",
                                quiz_real.get_points())
        return jsonify({
            "result": "ok",
            "field": "title",
            "message": "",
            "relocateTo": "/quiz_profile/" + str(quiz_real.get_id())
        }), 200