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})
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})
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 })
def get_material_service(): material_service = lc_service_container.load(MaterialService.__name__) assert (isinstance(material_service, MaterialService)) return material_service
def get_course_service(): course_service = lc_service_container.load(CourseService.__name__) assert isinstance(course_service, CourseService) return course_service
def get_course_service(): course_service = lc_service_container.load(CourseService.__name__) assert isinstance(course_service, CourseService) return course_service
def get_quiz_service(): quiz_service = lc_service_container.load(QuizService.__name__) assert (isinstance(quiz_service, QuizService)) return quiz_service
def get_quiz_service(): quiz_service = lc_service_container.load(QuizService.__name__) assert (isinstance(quiz_service, QuizService)) return quiz_service
def get_problem_service(): problem_service = lc_service_container.load(ProblemService.__name__) assert isinstance(problem_service, ProblemService) return problem_service
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', {})