예제 #1
0
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/")
예제 #2
0
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/")
예제 #3
0
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')
예제 #4
0
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")
예제 #5
0
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/')
예제 #6
0
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')
예제 #7
0
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/')
예제 #8
0
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")
예제 #9
0
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')
예제 #10
0
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/')
예제 #11
0
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')
예제 #12
0
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/')