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