예제 #1
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
예제 #2
0
def edit_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.sync_to_db()
    return render_template('quiz/user/quiz.html', quiz=quiz)
예제 #3
0
def add_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.save_to_db()
    return jsonify({"result": "ok"}), 200
예제 #4
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
예제 #5
0
def edit_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.sync_to_db();
    return render_template('quiz/user/quiz.html', quiz=quiz)
예제 #6
0
def add_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.save_to_db()
    return jsonify({"result": "ok"}), 200