コード例 #1
0
def list_incomplete_applicants(request, submission_method=None):
    submission_infos = (
        SubmissionInfo.get_incomplete_submissions().select_related(depth=1))

    applicants = get_applicants_from_submission_infos(submission_infos)

    submission_method_name = ''
    if submission_method == 'postal':
        submission_method_name = 'ที่สมัครออนไลน์แต่ส่งหลักฐานทางไปรษณีย์'
        applicants = [
            a for a in applicants
            if a.doc_submission_method == Applicant.SUBMITTED_BY_MAIL
        ]
    elif submission_method == 'offline':
        submission_method_name = 'ที่สมัครและส่งหลักฐานทางไปรษณีย์ (offline)'
        applicants = [
            a for a in applicants
            if a.doc_submission_method == Applicant.SUBMITTED_OFFLINE
        ]
    elif submission_method == 'online':
        submission_method_name = 'ที่สมัครและส่งหลักฐานออนไลน์ทั้งหมด'
        applicants = [
            a for a in applicants
            if a.doc_submission_method == Applicant.SUBMITTED_ONLINE
        ]

    applicant_count = len(applicants)

    notice = ''

    can_send_reminder_emails = (request.user.is_superuser
                                and submission_method != 'offline')

    if (request.method == 'POST') and (can_send_reminder_emails):
        # form submission, now send e-mail
        for app in applicants:
            send_resubmission_reminder_by_email(app)
        notice = ("ส่งอีเมล์เตือน %d ฉบับแล้ว" % (applicant_count, ))

    return render_to_response(
        "review/list_incomplete_for_email.html", {
            'form': None,
            'notice': notice,
            'submission_method_name': submission_method_name,
            'can_send_reminder_emails': can_send_reminder_emails,
            'applicant_count': applicant_count,
            'applicants': applicants,
            'force_review_link': True,
            'display': {
                'ticket_number': True,
                'doc_reviewed_at': True,
                'doc_reviewed_complete': True
            }
        })