def get_practice_for_user(self, user): ''' Saves the self course and fetches a corresponding Practice if it exists, otherwise creates one and returns it. ''' self.save() self.update_user_records(user) print_terminal("Course count is %d" % self.record_count()) try: # raise Practice.DoesNotExist practice = CoursePractice.objects.get(course=self, user=user) print_terminal("Retrieving pre-existing practice: [%s]" % str(practice)) except Practice.DoesNotExist: practice = CoursePractice(course=self, user=user) practice.save() for record in self.get_records().filter(user=user): print_terminal("Adding record") practice.add_quiz_record(record) practice.save() print_terminal("Creating practice: practice_count[%d], course_count[%d]" % (practice.count(), self.count())) return practice
def get_practice_for_user(self, user): ''' Saves the self course and fetches a corresponding Practice if it exists, otherwise creates one and returns it. ''' self.save() self.update_user_records(user) print_terminal("Course count is %d" % self.record_count()) try: # raise Practice.DoesNotExist practice = CoursePractice.objects.get(course=self, user=user) print_terminal("Retrieving pre-existing practice: [%s]" % str(practice)) except Practice.DoesNotExist: practice = CoursePractice(course=self, user=user) practice.save() for record in self.get_records().filter(user=user): print_terminal("Adding record") practice.add_quiz_record(record) practice.save() print_terminal( "Creating practice: practice_count[%d], course_count[%d]" % (practice.count(), self.count())) return practice
def delete_solution(request, course_id, quiz_id): print_terminal("Entered Delete phase") if request.method == "GET": quiz_id = request.GET["quiz_id"] solution_index = int(request.GET["index"]) quiz = Quiz.objects.get(id=quiz_id) solution = quiz.get_solution_in_index(solution_index) print_terminal("Fetched solution") success = False if solution.get_creator() == request.user: solution.delete() success = True return HttpResponse(json.dumps({"success": str(success)}), content_type="application/json")
def practice_question(request, course_id): course = get_object_or_404(Course, pk=course_id) user = request.user if not is_current_user_enrolled(request, course_id): return HttpResponse("%s is not enrolled in %s" % (user.username, course.name)) practice = course.get_practice_for_user(user) print_terminal(str(practice)) quiz = practice.pop_quiz() print_terminal("Popped Quiz: %s" % str(quiz)) context = {"quiz": quiz, "preamble": get_preamble_text()} return render(request, "practise_question.html", context)
def delete_solution(request, course_id, quiz_id): print_terminal("Entered Delete phase") if request.method == 'GET': quiz_id = request.GET['quiz_id'] solution_index = int(request.GET['index']) quiz = Quiz.objects.get(id=quiz_id) solution = quiz.get_solution_in_index(solution_index) print_terminal("Fetched solution") success = False if solution.get_creator() == request.user: solution.delete() success = True return HttpResponse(json.dumps({'success': str(success)}), content_type="application/json")
def practice_question(request, course_id): course = get_object_or_404(Course, pk=course_id) user = request.user if not is_current_user_enrolled(request, course_id): return HttpResponse("%s is not enrolled in %s" % (user.username, course.name)) practice = course.get_practice_for_user(user) print_terminal(str(practice)) quiz = practice.pop_quiz() print_terminal("Popped Quiz: %s" % str(quiz)) context = {'quiz': quiz, 'preamble': get_preamble_text()} return render(request, 'practise_question.html', context)