Example #1
0
def adm_submission_deadline_warning():
    time_left = time_to_submission_deadline()
    if (time_left > timedelta(0)) and (time_left < timedelta(hours=3)):
        return (
            '<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลารับสมัคร</span></div>'
            % (time_left.seconds / 3600, time_left.seconds % 3600 / 60))
    supplement_time_left = time_to_supplement_submission_deadline()
    if (supplement_time_left > timedelta(0)) and (supplement_time_left <
                                                  timedelta(hours=3)):
        return (
            '<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายื่นหลักฐานเพิ่มเติม</span></div>'
            % (supplement_time_left.seconds / 3600,
               supplement_time_left.seconds % 3600 / 60))
    round2_time_left = time_to_round2_confirmation_deadline()
    if (round2_time_left > timedelta(0)) and (round2_time_left <
                                              timedelta(hours=3)):
        return (
            '<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายืนยันการเข้าพิจารณาคัดเลือกโครงการรับตรง (รอบที่ 2) ลำดับสำรอง</span></div>'
            % (round2_time_left.seconds / 3600,
               round2_time_left.seconds % 3600 / 60))

    from result.models import AdmissionRound

    admission_major_pref_time_left = AdmissionRound.time_to_recent_round_deadline(
    )
    if (admission_major_pref_time_left > timedelta(0)) and (
            admission_major_pref_time_left < timedelta(hours=3)):
        return (
            '<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายืนยันสิทธิ์</span></div>'
            % (admission_major_pref_time_left.seconds / 3600,
               admission_major_pref_time_left.seconds % 3600 / 60))

    return ''
Example #2
0
def adm_submission_deadline_warning():
    time_left = time_to_submission_deadline()
    if (time_left > timedelta(0)) and (time_left < timedelta(hours=3)):
        return ('<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลารับสมัคร</span></div>' %
                (time_left.seconds/3600, time_left.seconds%3600/60))
    supplement_time_left = time_to_supplement_submission_deadline()
    if (supplement_time_left > timedelta(0)) and (supplement_time_left < timedelta(hours=3)):
        return ('<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายื่นหลักฐานเพิ่มเติม</span></div>' %
                (supplement_time_left.seconds/3600, 
                 supplement_time_left.seconds%3600/60))
    round2_time_left = time_to_round2_confirmation_deadline()
    if (round2_time_left > timedelta(0)) and (round2_time_left < timedelta(hours=3)):
        return ('<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายืนยันการเข้าพิจารณาคัดเลือกโครงการรับตรง (รอบที่ 2) ลำดับสำรอง</span></div>' %
                (round2_time_left.seconds/3600, 
                 round2_time_left.seconds%3600/60))

    from result.models import AdmissionRound

    admission_major_pref_time_left = AdmissionRound.time_to_recent_round_deadline()
    if (admission_major_pref_time_left > timedelta(0)) and (admission_major_pref_time_left < timedelta(hours=3)):
        return ('<div class="deadline-bar"><span class="deadline">เหลือเวลาอีก %d ชั่วโมง %d นาที ก่อนหมดเวลายืนยันสิทธิ์</span></div>' %
                (admission_major_pref_time_left.seconds/3600, 
                 admission_major_pref_time_left.seconds%3600/60))

    return ''
Example #3
0
def prepare_confirmation_data(applicant, admitted_major):
    confirmations = list(applicant.admission_confirmations.all())
    if len(confirmations)!=0:
        confirmation_complete = True
        recent_confirmation = confirmations[0]
    else:
        confirmation_complete = False
        recent_confirmation = None

    is_confirmation_time_left = (AdmissionRound.time_to_recent_round_deadline() > timedelta(0))

    return {
        'confirmation_complete': confirmation_complete,
        'recent_confirmation': recent_confirmation,
        'is_confirmation_time_left': is_confirmation_time_left,
        }
Example #4
0
File: utils.py Project: jittat/adm2
def admission_major_pref_deadline_passed():
    from result.models import AdmissionRound

    time_to_deadline = AdmissionRound.time_to_recent_round_deadline()

    return time_to_deadline <= timedelta(0)
Example #5
0
def index(request):
    notice = ''
    if 'notice' in request.session:
        notice = request.session['notice']
        del request.session['notice']

    submission_info = request.applicant.submission_info
    random_seed = 1000000 + randint(0,8999999)

    applicant = request.applicant

    admission_result = None
    admission_major_pref = None
    admitted_major = None
    latest_admission_major_pref = None
    latest_admission_result = None
    is_adm_major_pref_copied_from_prev_round = False
    student_registration = None

    accepting_majors = None

    first_admission = False

    current_round = AdmissionRound.get_recent()

    is_last_round = True

    if current_round:
        admission_result = applicant.get_latest_admission_result()

        first_admission = (applicant.admission_results.count() == 1)

        admission_major_pref = applicant.get_admission_major_preference(current_round.number)

        if not admission_major_pref:
            all_major_prefs = list(applicant.admission_major_preferences.all())
            if len(all_major_prefs)>0:
                latest_admission_major_pref = all_major_prefs[0]

                if admission_result:
                    # accepted, copy previous pref
                    admission_major_pref = copy_previous_adm_major_pref(
                        latest_admission_major_pref, 
                        applicant,
                        admitted_major,
                        current_round.number)
                    admission_major_pref.save()

        if admission_major_pref:
            accepting_majors = admission_major_pref.get_accepted_majors(check_admitted=False)
        elif latest_admission_major_pref:
            # for those who picked choice 3
            accepting_majors = latest_admission_major_pref.get_accepted_majors(check_admitted=False)
            

        if admission_result:
            admitted_major = admission_result.admitted_major
            student_registration = applicant.get_student_registration()

        if not admission_result:
            results = applicant.admission_results.filter(round_number__lte=current_round.number).all()
            if len(results)>0:
                latest_admission_result = results[len(results)-1]

    confirmations = applicant.admission_confirmations.all()
    total_amount_confirmed = sum([c.paid_amount for c in confirmations])

    if admitted_major and (total_amount_confirmed >= admitted_major.confirmation_amount):
        confirmation_complete = True
        additional_payment = 0
    else:
        confirmation_complete = False
        if admitted_major:
            additional_payment = admitted_major.confirmation_amount - total_amount_confirmed
        else:
            additional_payment = 0

    if len(confirmations)!=0:
        recent_confirmation = confirmations[0]
    else:
        recent_confirmation = None

    is_confirmation_time_left = (AdmissionRound.time_to_recent_round_deadline() > timedelta(0))

    return render_to_response("application/status/index.html",
                              { 'applicant': request.applicant,
                                'submission_info': submission_info,
                                'admission_result': admission_result,
                                'first_admission': first_admission,
                                'latest_admission_result':
                                    latest_admission_result,
                                'admission_major_pref': admission_major_pref,
                                'accepting_majors': accepting_majors,
                                'latest_admission_major_pref':
                                    latest_admission_major_pref,
                                'is_adm_major_pref_copied_from_prev_round':
                                    is_adm_major_pref_copied_from_prev_round,

                                'confirmation_complete': confirmation_complete,
                                'recent_confirmation': recent_confirmation,
                                'confirmations': confirmations,
                                'total_amount_confirmed': total_amount_confirmed,
                                'additional_payment': additional_payment,

                                'student_registration':
                                    student_registration,

                                'current_round': current_round,
                                'is_last_round': is_last_round,
                                'is_confirmation_time_left': is_confirmation_time_left,
                                'random_seed': random_seed,
                                'notice': notice,
                                'can_log_out': True })
Example #6
0
File: utils.py Project: jittat/adm2
def admission_major_pref_deadline_passed():
    from result.models import AdmissionRound

    time_to_deadline = AdmissionRound.time_to_recent_round_deadline()

    return time_to_deadline <= timedelta(0)