Esempio n. 1
0
def create(request):
    type = request.GET.get('type', Problem.MULTIPLE_CHOICE)
    if type == Problem.MULTIPLE_CHOICE:
        Form = MultipleChoiceProblemForm
    else:
        Form = ShortAnswerProblemForm
    if request.method == 'POST':
        form = Form(request.POST)
        if form.is_valid():
            if type == Problem.MULTIPLE_CHOICE:
                problem = Problem.from_multiple_choice_form(form)
            else:
                problem = Problem.from_short_answer_form(form)
            # get user id
            auth_service = user_service_container.load(AuthService.__name__)
            assert isinstance(auth_service,AuthService)
            user_id = auth_service.get_value("_id",request.session)
            problem.creator_id = user_id

            problem_service = lc_service_container.load(ProblemService.__name__)
            assert isinstance(problem_service, ProblemService)
            problem_id = problem_service.insert(problem)
            return HttpResponseRedirect(reverse('problem.read', args=[problem_id]))
    else:
        form = Form()
    available_types = {
        'MC': Problem.MULTIPLE_CHOICE,
        'SA': Problem.SHORT_ANSWER
    }
    return render(request, "problem/create.html", {'form': form, 'type': type, 'available_types': available_types})
Esempio n. 2
0
def read(request, _id):
    problem_service = lc_service_container.load(ProblemService.__name__)
    user_service = user_service_container.load(UserService.__name__)
    assert (isinstance(problem_service, ProblemService))
    assert (isinstance(user_service, UserService))
    problem = problem_service.find_by_id(_id)
    if problem is None:
        return HttpResponseNotFound()
    else:
        user = user_service.find_by_id(problem.creator_id)
        return render(request, get_template("read.html"), {"problem": problem, "user": user})
Esempio n. 3
0
def read(request, _id):
    problem_service = lc_service_container.load(ProblemService.__name__)
    user_service = user_service_container.load(UserService.__name__)
    assert (isinstance(problem_service, ProblemService))
    assert (isinstance(user_service, UserService))
    problem = problem_service.find_by_id(_id)
    if problem is None:
        return HttpResponseNotFound()
    else:
        user = user_service.find_by_id(problem.creator_id)
        return render(request, get_template("read.html"), {
            "problem": problem,
            "user": user
        })
Esempio n. 4
0
def get_material_service():
    material_service = lc_service_container.load(MaterialService.__name__)
    assert (isinstance(material_service, MaterialService))
    return material_service
Esempio n. 5
0
def get_course_service():
    course_service = lc_service_container.load(CourseService.__name__)
    assert isinstance(course_service, CourseService)
    return course_service
Esempio n. 6
0
def get_course_service():
    course_service = lc_service_container.load(CourseService.__name__)
    assert isinstance(course_service, CourseService)
    return course_service
Esempio n. 7
0
def get_quiz_service():
    quiz_service = lc_service_container.load(QuizService.__name__)
    assert (isinstance(quiz_service, QuizService))
    return quiz_service
Esempio n. 8
0
def get_quiz_service():
    quiz_service = lc_service_container.load(QuizService.__name__)
    assert (isinstance(quiz_service, QuizService))
    return quiz_service
Esempio n. 9
0
def get_problem_service():
    problem_service = lc_service_container.load(ProblemService.__name__)
    assert isinstance(problem_service, ProblemService)
    return problem_service
Esempio n. 10
0
def home(request):
    problem_service = lc_service_container.load(ProblemService.__name__)
    assert isinstance(problem_service, ProblemService)
    problem_service.find_by_id("hello_world")
    return render(request, 'home/home.html', {})