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 ''
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 ''
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, }
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)
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 })