コード例 #1
0
def list_applicant(request, reviewed=True, pagination=True):
    applicants = []
    display = {}
    submission_infos = SubmissionInfo.objects.filter(doc_received_at__isnull=False).filter(has_been_reviewed=reviewed).select_related(depth=1)
    if reviewed:
        submission_infos = submission_infos.order_by('-doc_reviewed_at')
    else:
        submission_infos = submission_infos.order_by('doc_received_at')

    applicant_count = submission_infos.count()

    if pagination:
        max_page = (applicant_count + APPLICANTS_PER_PAGE -1) / APPLICANTS_PER_PAGE
        page = 1
        if 'page' in request.GET:
            try:
                page = int(request.GET['page'])
            except:
                page = 1
        if page < 1 or page > max_page:
            page = 1
    else:
        max_page = 1
        page = 1

    display_start = APPLICANTS_PER_PAGE * (page - 1) + 1
    display_end = APPLICANTS_PER_PAGE * page
    submission_infos = submission_infos.all()[display_start-1:display_end]
    display_count = len(submission_infos)

    # add resubmitted applicants
    if not reviewed:
        resubmitted_submission_infos = list(SubmissionInfo.get_unreviewed_resubmitted_submissions().select_related(depth=1).all())
        applicant_count += len(resubmitted_submission_infos)
        submission_infos = list(resubmitted_submission_infos) + list(submission_infos)
        display_count = len(submission_infos)
        display_end += len(resubmitted_submission_infos)

    applicants = get_applicants_from_submission_infos(submission_infos)

    display['ticket_number']=True
    display['doc_received_at']=True
    if reviewed==True:
        display['doc_reviewed_at']=True
        display['doc_reviewed_complete']=True


    return render_to_response("review/search.html",
                              { 'form': None,
                                'applicant_count': applicant_count,
                                'applicants': applicants,
                                'force_review_link': True,
                                'pagination': pagination,
                                'display_start': display_start,
                                'display_end': display_end,
                                'display_count': display_count,
                                'page': page,
                                'max_page': max_page,
                                'display': display })