Пример #1
0
def applicant_major_as_major_lists(request):
    """
    WARNINGS: 
    Unused in the current version.
    This is for the case when the number of choices is small.
    """

    if settings.MAX_MAJOR_RANK == 1:
        return applicant_major_single_choice(request)

    applicant = request.applicant

    if (request.method == 'POST') and ('cancel' not in request.POST):

        result, major_list, errors = handle_major_form(request)

        if result:
            return HttpResponseRedirect(reverse('apply-confirm'))

        pref_ranks = MajorPreference.major_list_to_major_rank_list(major_list)
        form_data = prepare_major_form(applicant, pref_ranks, errors)

    else:
        if applicant.has_major_preference():
            pref_ranks = applicant.preference.to_major_rank_list()
        else:
            pref_ranks = None

        form_data = prepare_major_form(applicant, pref_ranks)

    # add step info
    form_step_info = build_form_step_info(3, applicant)
    form_data['form_step_info'] = form_step_info
    return render_to_response('application/major_select_by_majors.html',
                              form_data)
Пример #2
0
def applicant_major(request):
    max_major_rank = settings.MAX_MAJOR_RANK

    if max_major_rank == 1:
        return applicant_major_single_choice(request)

    applicant = request.applicant
    form_data = {'majors': Major.get_all_majors()}

    if (request.method == 'POST') and ('cancel' not in request.POST):

        result, pref_list, errors = handle_major_form(request, max_major_rank)

        if result:
            return HttpResponseRedirect(reverse('apply-confirm'))

        selections = prepare_major_selections(pref_list, max_major_rank)
        form_data['errors'] = errors

    else:
        if applicant.has_major_preference():
            pref_list = applicant.preference.get_major_list()
        else:
            pref_list = [None] * max_major_rank

        selections = prepare_major_selections(pref_list, max_major_rank)

    # add step info
    form_step_info = build_form_step_info(3, applicant)
    form_data['form_step_info'] = form_step_info
    form_data['selections'] = selections
    form_data['max_major_rank'] = max_major_rank
    return render_to_response('application/majors.html', form_data)
Пример #3
0
def applicant_major(request):
    if settings.MAX_MAJOR_RANK == 1:
        return applicant_major_single_choice(request)

    applicant = request.applicant

    if (request.method == 'POST') and ('cancel' not in request.POST):

        result, major_list, errors = handle_major_form(request)

        if result:
            return HttpResponseRedirect(reverse('apply-confirm'))

        pref_ranks = MajorPreference.major_list_to_major_rank_list(major_list)
        form_data = prepare_major_form(applicant, pref_ranks, errors)

    else:
        if applicant.has_major_preference():
            pref_ranks = applicant.preference.to_major_rank_list()
        else:
            pref_ranks = None

        form_data = prepare_major_form(applicant, pref_ranks)

    # add step info
    form_step_info = build_form_step_info(3, applicant)
    form_data['form_step_info'] = form_step_info
    return render_to_response('application/majors.html',
                              form_data)
Пример #4
0
def major_form(request, applicant_id):
    applicant = get_object_or_404(Applicant,pk=applicant_id)
    if applicant.is_submitted:
        return HttpResponseForbidden()

    if (request.method == 'POST') and ('cancel' not in request.POST):

        result, major_list, errors = handle_major_form(request, 
                                                       applicant=applicant)

        if result:
            return HttpResponseRedirect(reverse('manual-confirm',
                                                args=[applicant.id]))

        pref_ranks = MajorPreference.major_list_to_major_rank_list(major_list)
        form_data = prepare_major_form(applicant, pref_ranks, errors)

    else:
        if applicant.has_major_preference():
            pref_ranks = applicant.preference.to_major_rank_list()
        else:
            pref_ranks = None

        form_data = prepare_major_form(applicant, pref_ranks)

    # add step info
    form_data['applicant'] = applicant
    form_data['show_navigation'] = True
    form_data['hide_description'] = True
    return render_to_response('manual/majors.html',
                              form_data)
Пример #5
0
def applicant_major(request):
    max_major_rank = settings.MAX_MAJOR_RANK

    if max_major_rank == 1:
        return applicant_major_single_choice(request)

    applicant = request.applicant
    form_data = { 'majors': Major.get_all_majors() }

    if (request.method == 'POST') and ('cancel' not in request.POST):

        result, pref_list, errors = handle_major_form(request, max_major_rank)

        if result:
            return HttpResponseRedirect(reverse('apply-confirm'))

        selections = prepare_major_selections(pref_list, max_major_rank)
        form_data['errors'] = errors

    else:
        if applicant.has_major_preference():
            pref_list = applicant.preference.get_major_list()
        else:
            pref_list = [None] * max_major_rank

        selections = prepare_major_selections(pref_list, max_major_rank)

    # add step info
    form_step_info = build_form_step_info(3, applicant)
    form_data['form_step_info'] = form_step_info
    form_data['selections'] = selections
    form_data['max_major_rank'] = max_major_rank
    return render_to_response('application/majors.html',
                              form_data)
Пример #6
0
def update_majors_as_major_lists(request):
    """
    WARNINGS: 
    Unused in the current version.
    This is for the case when the number of choices is small.
    """

    if settings.MAX_MAJOR_RANK == 1:
        return update_major_single_choice(request)

    applicant = request.applicant

    if request.method == 'POST': 

        if 'cancel' not in request.POST:

            result, major_list, errors = handle_major_form(request)

            if result:
                request.session['notice'] = 'การแก้ไขอันดับสาขาวิชาเรียบร้อย'
                return HttpResponseRedirect(reverse('status-index'))

        else:
            request.session['notice'] = 'อันดับสาขาวิชาไม่ถูกแก้ไข'
            return HttpResponseRedirect(reverse('status-index'))

        pref_ranks = MajorPreference.major_list_to_major_rank_list(major_list)
        form_data = prepare_major_form(applicant, pref_ranks, errors)

    else:
        if applicant.has_major_preference():
            pref_ranks = applicant.preference.to_major_rank_list()
        else:
            pref_ranks = [None] * len(majors)

        form_data = prepare_major_form(applicant, pref_ranks)

    # add step info
    form_data['step_name'] = 'แก้ไขอันดับสาขาวิชา'
    form_data['can_log_out'] = True
    return render_to_response('application/update/majors.html',
                              form_data)
Пример #7
0
def update_majors(request):
    max_major_rank = settings.MAX_MAJOR_RANK
    if max_major_rank == 1:
        return update_major_single_choice(request)

    from form_views import prepare_major_selections

    applicant = request.applicant
    form_data = { 'majors': Major.get_all_majors() }

    if request.method == 'POST': 

        if 'cancel' not in request.POST:
            result, pref_list, errors = handle_major_form(request, 
                                                          max_major_rank)

            log = Log.create("Update major pref: %s from %s" % 
                             (applicant.id,request.META['REMOTE_ADDR']))
            if result:
                request.session['notice'] = 'การแก้ไขอันดับสาขาวิชาเรียบร้อย'
                return HttpResponseRedirect(reverse('status-index'))

            selections = prepare_major_selections(pref_list, max_major_rank)
            form_data['errors'] = errors
        else:
            request.session['notice'] = 'อันดับสาขาวิชาไม่ถูกแก้ไข'
            return HttpResponseRedirect(reverse('status-index'))
    else:
        if applicant.has_major_preference():
            pref_list = applicant.preference.get_major_list()
        else:
            pref_list = [None] * max_major_rank

        selections = prepare_major_selections(pref_list, max_major_rank)

    # add step info
    form_data['step_name'] = 'แก้ไขอันดับสาขาวิชา'
    form_data['can_log_out'] = True
    form_data['selections'] = selections
    form_data['max_major_rank'] = max_major_rank
    return render_to_response('application/update/majors.html',
                              form_data)
Пример #8
0
def update_majors_as_major_lists(request):
    """
    WARNINGS: 
    Unused in the current version.
    This is for the case when the number of choices is small.
    """

    if settings.MAX_MAJOR_RANK == 1:
        return update_major_single_choice(request)

    applicant = request.applicant

    if request.method == 'POST':

        if 'cancel' not in request.POST:

            result, major_list, errors = handle_major_form(request)

            if result:
                request.session['notice'] = 'การแก้ไขอันดับสาขาวิชาเรียบร้อย'
                return HttpResponseRedirect(reverse('status-index'))

        else:
            request.session['notice'] = 'อันดับสาขาวิชาไม่ถูกแก้ไข'
            return HttpResponseRedirect(reverse('status-index'))

        pref_ranks = MajorPreference.major_list_to_major_rank_list(major_list)
        form_data = prepare_major_form(applicant, pref_ranks, errors)

    else:
        if applicant.has_major_preference():
            pref_ranks = applicant.preference.to_major_rank_list()
        else:
            pref_ranks = [None] * len(majors)

        form_data = prepare_major_form(applicant, pref_ranks)

    # add step info
    form_data['step_name'] = 'แก้ไขอันดับสาขาวิชา'
    form_data['can_log_out'] = True
    return render_to_response('application/update/majors.html', form_data)
Пример #9
0
def update_majors(request):
    max_major_rank = settings.MAX_MAJOR_RANK
    if max_major_rank == 1:
        return update_major_single_choice(request)

    from form_views import prepare_major_selections

    applicant = request.applicant
    form_data = {'majors': Major.get_all_majors()}

    if request.method == 'POST':

        if 'cancel' not in request.POST:
            result, pref_list, errors = handle_major_form(
                request, max_major_rank)

            log = Log.create("Update major pref: %s from %s" %
                             (applicant.id, request.META['REMOTE_ADDR']))
            if result:
                request.session['notice'] = 'การแก้ไขอันดับสาขาวิชาเรียบร้อย'
                return HttpResponseRedirect(reverse('status-index'))

            selections = prepare_major_selections(pref_list, max_major_rank)
            form_data['errors'] = errors
        else:
            request.session['notice'] = 'อันดับสาขาวิชาไม่ถูกแก้ไข'
            return HttpResponseRedirect(reverse('status-index'))
    else:
        if applicant.has_major_preference():
            pref_list = applicant.preference.get_major_list()
        else:
            pref_list = [None] * max_major_rank

        selections = prepare_major_selections(pref_list, max_major_rank)

    # add step info
    form_data['step_name'] = 'แก้ไขอันดับสาขาวิชา'
    form_data['can_log_out'] = True
    form_data['selections'] = selections
    form_data['max_major_rank'] = max_major_rank
    return render_to_response('application/update/majors.html', form_data)