def request_status(request): notice = '' if request.method == 'POST': form = StatusRequestForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] applicants = Applicant.objects.filter(email__iendswith=email).all() real_applicants = [a for a in applicants if a.get_email().lower() == email.lower()] if len(real_applicants)==0: send_status_by_email_no_applicant(email) notice = u'ระบบได้จัดส่งจดหมายอิเล็กทรอนิกส์ไปยัง ' + email + u' แล้ว' else: if (settings.SHOW_FINAL_ADMISSION_RESULTS) or (settings.SHOW_ADMISSION_RESULTS): applicant = filter_admitted_applicants(real_applicants) if applicant!=None: if settings.SHOW_FINAL_ADMISSION_RESULTS: send_final_admission_status_by_mail(applicant) else: send_admission_status_by_mail(applicant) notice = u'ระบบได้จัดส่งจดหมายอิเล็กทรอนิกส์ไปยัง ' + email + u' แล้ว' else: send_admission_status_problem_by_mail(email) notice = u'มีปัญหาในการเรียกค้น ระบบได้จัดส่งจดหมายอิเล็กทรอนิกส์ไปยัง ' + email + u' แล้ว' else: submitted_applicants = [a for a in real_applicants if a.is_submitted] if len(submitted_applicants)==1: send_status_by_email(submitted_applicants[0]) elif len(submitted_applicants)==0: send_status_by_email_not_submitted(email, real_applicants) else: send_status_by_email_many_submitted_apps(submitted_applicants) notice = u'ระบบได้จัดส่งจดหมายอิเล็กทรอนิกส์ไปยัง ' + email + u' แล้ว' else: form = StatusRequestForm() return render_to_response('application/status/request.html', { 'form': form, 'notice': notice })
def main(): print 'Sending mails...' while True: try: nat_id = raw_input().strip() except: break personal_infos = (PersonalInfo.objects .filter(national_id=nat_id) .select_related(depth=1)) emails = {} for pinfo in personal_infos: if pinfo.applicant.email not in emails: emails[pinfo.applicant.email] = pinfo.applicant for email, app in emails.iteritems(): print email, app.full_name() send_final_admission_status_by_mail(app) time.sleep(5)