def view_participant_result(request, course_id, exam_id, student_id): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) if request.user == course.owner: student = User.objects.get(id=student_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=student, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get(user=student, exam_question=exam_question).answer return render( request, "view_result.html", { "course": course, "exam": exam, "exam_questions": exam_questions, "result": result, "answers": answers, "student": student, }, ) return redirect("/courses/")
def view_exam_results(request, course_id, exam_id): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) if request.user == course.owner: participants = Participation.objects.filter(course=course) count = ExamQuestion.objects.filter(exam=exam).count() scores = {} for participant in participants: try: score = Score.objects.get(user=participant.user, exam=exam).score scores[participant] = format_score(score, count) except ObjectDoesNotExist: scores[participant] = "Not taken" return render(request, "view_exam_results.html", {"course": course, "exam": exam, "scores": scores}) return redirect("/courses/")
def view_exam(request, course_id, exam_id): if (Participation.objects.filter(user=request.user, course=course_id) .exists()): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) try: score = (Score.objects.get(user=request.user, exam=exam) .score) result = format_score(score, exam_questions.count()) except ObjectDoesNotExist: result = "Exam not yet taken." return render(request, 'view_exam.html', {'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result}) else: return redirect('/courses/s')
def view_exam(request, course_id, exam_id): if Participation.objects.filter(user=request.user, course=course_id).exists(): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) try: score = Score.objects.get(user=request.user, exam=exam).score result = format_score(score, exam_questions.count()) except ObjectDoesNotExist: result = "Exam not yet taken." return render( request, "view_exam.html", {"course": course, "exam": exam, "exam_questions": exam_questions, "result": result}, ) return redirect("/courses/s")
def view_results(request, course_id, exam_id): exam = Exam.objects.get(id=exam_id) if request.user.username == exam.owner: course = Course.objects.get(id=course_id) participants = Participation.objects.filter(course=course) count = ExamQuestion.objects.filter(exam=exam).count() scores = {} for participant in participants: try: score = (Score.objects.get(user=participant.user, exam=exam) .score) scores[participant] = format_score(score, count) except ObjectDoesNotExist: scores[participant] = "Not taken" return render(request, 'view_results.html', {'course': course, 'exam': exam, 'scores': scores}) else: return redirect('/courses/')
def view_result(request, course_id, exam_id): if (Participation.objects.filter(user=request.user, course=course_id) .exists() and Score.objects.filter(user=request.user, exam=exam_id) .exists()): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=request.user, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get(user= request.user, exam_question=exam_question).answer return render(request, 'view_result.html', {'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result, 'answers': answers}) else: return redirect('/courses/s')
def view_participant_result(request, course_id, exam_id, student_id): exam = Exam.objects.get(id=exam_id) if request.user.username == exam.owner: course = Course.objects.get(id=course_id) student = User.objects.get(id=student_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=student, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get(user= student, exam_question=exam_question).answer return render(request, 'view_result.html', {'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result, 'answers': answers, 'teacher': request.user, 'student': student}) else: return redirect('/courses/')
def view_result(request, course_id, exam_id): if ( Participation.objects.filter(user=request.user, course=course_id).exists() and Score.objects.filter(user=request.user, exam=exam_id).exists() ): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=request.user, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get(user=request.user, exam_question=exam_question).answer return render( request, "view_result.html", {"course": course, "exam": exam, "exam_questions": exam_questions, "result": result, "answers": answers}, ) return redirect("/courses/s")
def view_exam(request, course_id, exam_id): if (Participation.objects.filter(user=request.user, course=course_id).exists()): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) try: score = (Score.objects.get(user=request.user, exam=exam).score) result = format_score(score, exam_questions.count()) except ObjectDoesNotExist: result = "Exam not yet taken." return render( request, 'view_exam.html', { 'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result }) return redirect('/courses/s')
def view_exam_results(request, course_id, exam_id): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) if request.user == course.owner: participants = Participation.objects.filter(course=course) count = ExamQuestion.objects.filter(exam=exam).count() scores = {} for participant in participants: try: score = (Score.objects.get(user=participant.user, exam=exam).score) scores[participant] = format_score(score, count) except ObjectDoesNotExist: scores[participant] = "Not taken" return render(request, 'view_exam_results.html', { 'course': course, 'exam': exam, 'scores': scores }) return redirect('/courses/')
def view_result(request, course_id, exam_id): if (Participation.objects.filter(user=request.user, course=course_id).exists() and Score.objects.filter(user=request.user, exam=exam_id).exists()): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=request.user, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get( user=request.user, exam_question=exam_question).answer return render( request, 'view_result.html', { 'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result, 'answers': answers }) return redirect('/courses/s')
def view_participant_result(request, course_id, exam_id, student_id): course = Course.objects.get(id=course_id) exam = Exam.objects.get(id=exam_id) if request.user == course.owner: student = User.objects.get(id=student_id) exam = Exam.objects.get(id=exam_id) exam_questions = ExamQuestion.objects.filter(exam=exam) score = Score.objects.get(user=student, exam=exam).score result = format_score(score, exam_questions.count()) answers = {} for exam_question in exam_questions: answers[exam_question] = StudentAnswer.objects.get( user=student, exam_question=exam_question).answer return render( request, 'view_result.html', { 'course': course, 'exam': exam, 'exam_questions': exam_questions, 'result': result, 'answers': answers, 'student': student }) return redirect('/courses/')