Example #1
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 #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
        })