Example #1
0
def subject_statistics(request, grade_id=0, subject_id=0):
    '''
    Renders the view for the given pupil
    '''
    user = request.user
    if user is None:
        return render(request, 'login/error.html')

    grade = get_object_or_404(Grade, id=grade_id)
    subject = get_object_or_404(Subject, id=subject_id)
    assignment = TeachingAssignment.objects.get(grade=grade, subject=subject, teacher=user)
    
    grade_participants = GradeParticipant.objects.filter(grade=assignment.grade)
    subject_stats = []
    for grade_participant in grade_participants:
        eval_helper = EvaluationHelper(assignment=assignment, pupil=grade_participant.pupil)
        try:
            info = PupilTAInfo.objects.get(pupil=grade_participant.pupil, teaching_assignment=assignment)
        except ObjectDoesNotExist:
            info = PupilTAInfo(pupil=grade_participant.pupil, teaching_assignment=assignment)
            info.save()
        
        subject_stats.append({'evaluation': eval_helper, 'info': info})
    
    
    return render(request, 'gsaudit/course/subject_statistic.html', {
        'user': user, 
        'grade': grade,
        'subject': subject,
        'categories': eval_helper.categories,
        'written_exams': eval_helper.written_exams,
        'subject_stats': subject_stats,
        'subject_statistic_view': True,
    })
Example #2
0
def pupil_ta_info(request, pupil_id, subject_id, grade_id):

    pupil = get_object_or_404(Pupil, id=pupil_id)
    ta = get_object_or_404(TeachingAssignment, subject__id=subject_id, grade__id=grade_id, teacher=request.teacher)
    
    try:
        info = PupilTAInfo.objects.get(pupil=pupil, teaching_assignment=ta)
    except ObjectDoesNotExist:
        info = PupilTAInfo(pupil=pupil, teaching_assignment=ta)
        info.save()

    formclass = modelform_factory(PupilTAInfo, fields=('info', 'written_exam_rating'))
    
    if request.method == 'POST':
        form = formclass(request.POST, instance=info)
        if form.is_valid():
            info = form.save(commit=False)
            info.pupil = pupil
            info.teaching_assignment = ta
            info.save()
            messages.success(request, 'Notiz wurde gespeichert')
            return HttpResponseRedirect(reverse('pupil-ta_info', kwargs=dict(pupil_id=pupil_id, subject_id=subject_id, grade_id=grade_id)))
    else:
        form = formclass(instance=info)
        
    return render(request, 'gsaudit/pupil/profile.html', {
        'info': info,
        'form': form,
        'grade': ta.grade,
        'subject': ta.subject,
        'pupil': pupil,
        'pupil_info_view': True
    })
Example #3
0
def pupil_eval_info(request, pupil_id, subject_id, grade_id):

    pupil = get_object_or_404(Pupil, id=pupil_id)
    ta = get_object_or_404(TeachingAssignment, subject__id=subject_id, grade__id=grade_id, teacher=request.teacher)
    eval_helper = EvaluationHelper(assignment=ta, pupil=pupil)
    try:
        info = PupilTAInfo.objects.get(pupil=pupil, teaching_assignment=ta)
    except ObjectDoesNotExist:
        info = PupilTAInfo(pupil=pupil, teaching_assignment=ta)
        info.save()
    
    return render(request, 'gsaudit/pupil/eval.html', {
        'info': info,
        'evaluation': eval_helper,
        'grade': ta.grade,
        'subject': ta.subject,
        'pupil': pupil,
        'pupil_eval_info_view': True,
    })
Example #4
0
def subject_statistics(request, grade_id=0, subject_id=0):
    '''
    Renders the view for the given pupil
    '''
    user = request.user
    if user is None:
        return render(request, 'login/error.html')

    grade = get_object_or_404(Grade, id=grade_id)
    subject = get_object_or_404(Subject, id=subject_id)
    assignment = TeachingAssignment.objects.get(grade=grade,
                                                subject=subject,
                                                teacher=user)

    grade_participants = GradeParticipant.objects.filter(
        grade=assignment.grade)
    subject_stats = []
    for grade_participant in grade_participants:
        eval_helper = EvaluationHelper(assignment=assignment,
                                       pupil=grade_participant.pupil)
        try:
            info = PupilTAInfo.objects.get(pupil=grade_participant.pupil,
                                           teaching_assignment=assignment)
        except ObjectDoesNotExist:
            info = PupilTAInfo(pupil=grade_participant.pupil,
                               teaching_assignment=assignment)
            info.save()

        subject_stats.append({'evaluation': eval_helper, 'info': info})

    return render(
        request, 'gsaudit/course/subject_statistic.html', {
            'user': user,
            'grade': grade,
            'subject': subject,
            'categories': eval_helper.categories,
            'written_exams': eval_helper.written_exams,
            'subject_stats': subject_stats,
            'subject_statistic_view': True,
        })
Example #5
0
def pupil_eval_info(request, pupil_id, subject_id, grade_id):

    pupil = get_object_or_404(Pupil, id=pupil_id)
    ta = get_object_or_404(TeachingAssignment,
                           subject__id=subject_id,
                           grade__id=grade_id,
                           teacher=request.teacher)
    eval_helper = EvaluationHelper(assignment=ta, pupil=pupil)
    try:
        info = PupilTAInfo.objects.get(pupil=pupil, teaching_assignment=ta)
    except ObjectDoesNotExist:
        info = PupilTAInfo(pupil=pupil, teaching_assignment=ta)
        info.save()

    return render(
        request, 'gsaudit/pupil/eval.html', {
            'info': info,
            'evaluation': eval_helper,
            'grade': ta.grade,
            'subject': ta.subject,
            'pupil': pupil,
            'pupil_eval_info_view': True,
        })
Example #6
0
def pupil_ta_info(request, pupil_id, subject_id, grade_id):

    pupil = get_object_or_404(Pupil, id=pupil_id)
    ta = get_object_or_404(TeachingAssignment,
                           subject__id=subject_id,
                           grade__id=grade_id,
                           teacher=request.teacher)

    try:
        info = PupilTAInfo.objects.get(pupil=pupil, teaching_assignment=ta)
    except ObjectDoesNotExist:
        info = PupilTAInfo(pupil=pupil, teaching_assignment=ta)
        info.save()

    formclass = modelform_factory(PupilTAInfo,
                                  fields=('info', 'written_exam_rating'))

    if request.method == 'POST':
        form = formclass(request.POST, instance=info)
        if form.is_valid():
            info = form.save(commit=False)
            info.pupil = pupil
            info.teaching_assignment = ta
            info.save()
            messages.success(request, 'Notiz wurde gespeichert')
            return HttpResponseRedirect(
                reverse('pupil-ta_info',
                        kwargs=dict(pupil_id=pupil_id,
                                    subject_id=subject_id,
                                    grade_id=grade_id)))
    else:
        form = formclass(instance=info)

    return render(
        request, 'gsaudit/pupil/profile.html', {
            'info': info,
            'form': form,
            'grade': ta.grade,
            'subject': ta.subject,
            'pupil': pupil,
            'pupil_info_view': True
        })