Esempio n. 1
0
def add_teacher_info(request, uuid):
    """ Shows form for teacher.
    """

    base_info = shortcuts.get_object_or_404(models.BaseInfo, uuid=uuid)

    try:
        base_info.teacherinfo_set.get()
    except models.TeacherInfo.DoesNotExist:
        pass
    else:
        return shortcuts.render(
                request,
                'nmadb-entrance/teacher-form-filled.html',
                {
                    'base_info': base_info,
                    'info': info,
                    }
                )


    form_errors = False

    if request.method == 'POST':
        form = forms.TeacherInfoForm(request.POST)
        if form.is_valid():
            teacher_info = form.save(commit=False)
            teacher_info.base = base_info
            teacher_info.save()
            pdf.generate_teacher_filled_form(base_info, teacher_info)
            notify.send_filled_teacher_form(base_info, teacher_info)
            notify.send_if_all(base_info)
            return shortcuts.redirect(
                    'nmadb-entrance-add-teacher-info', uuid)
        else:
            form_errors = True
    else:
        form = forms.TeacherInfoForm()

    return {
            'info': info,
            'form': form,
            'form_errors': form_errors,
            'base_info': base_info,
            }
Esempio n. 2
0
def add_pupil_info(request, uuid):
    """ Shows form for pupil.
    """

    base_info = shortcuts.get_object_or_404(models.BaseInfo, uuid=uuid)

    try:
        base_info.pupilinfo_set.get()
    except models.PupilInfo.DoesNotExist:
        pass
    else:
        return shortcuts.render(
                request,
                'nmadb-entrance/pupil-form-filled.html',
                {
                    'base_info': base_info,
                    'info': info,
                    },
                )

    form_errors = False
    pupil_form = None
    address_form = None

    if base_info.generated_address:
        if request.method == 'POST':
            pupil_form = forms.PupilInfoForm(request.POST)
            if pupil_form.is_valid():
                pupil_info = pupil_form.save(commit=False)
                pupil_info.base = base_info
                pupil_info.save()
                pdf.generate_pupil_filled_form(base_info, pupil_info)
                notify.send_filled_pupil_form(base_info, pupil_info)
                notify.send_if_all(base_info)
                return shortcuts.redirect(
                        'nmadb-entrance-add-pupil-info', uuid)
            else:
                form_errors = True
        else:
            pupil_form = forms.PupilInfoForm()
    else:
        if request.method == 'POST':
            pupil_form = forms.PupilInfoForm(request.POST)
            address_form = registration_forms.AddressForm(request.POST)
            if pupil_form.is_valid() and address_form.is_valid():
                address = address_form.save()
                pupil_info = pupil_form.save(commit=False)
                pupil_info.home_address = address
                pupil_info.base = base_info
                pupil_info.save()
                base_info.generated_address = unicode(address)
                base_info.save()
                pdf.generate_pupil_filled_form(base_info, pupil_info)
                notify.send_filled_pupil_form(base_info, pupil_info)
                notify.send_if_all(base_info)
                return shortcuts.redirect(
                        'nmadb-entrance-add-pupil-info', uuid)
            else:
                form_errors = True
        else:
            pupil_form = forms.PupilInfoForm()
            address_form = registration_forms.AddressForm()

    return {
            'info': info,
            'pupil_form': pupil_form,
            'address_form': address_form,
            'form_errors': form_errors,
            'base_info': base_info,
            'achievements_from_year': info.year - 2,
            }