예제 #1
0
def doc_view(request, applicant_id, field_name):
    applicant = get_object_or_404(Applicant, pk=applicant_id)
    docs = applicant.get_applicant_docs_or_none()
    if not AppDocs.valid_field_name(field_name):
        return HttpResponseNotFound()

    field = docs.__getattribute__(field_name)

    ext = ''
    if field:
        filename = docs.__getattribute__(field_name).name
        if filename:
            name, ext = os.path.splitext(filename)
    if ext=='':
        ext = '.png'

    new_h, new_w, zoomable = cal_zoom_size(field)

    filename = '%s%s' % (field_name, ext)
    return render_to_response("review/doc_view.html",
                              { 'applicant': applicant,
                                'field_name': field_name,
                                'filename': filename,
                                'height': new_h,
                                'width': new_w,
                                'zoomable': zoomable })
예제 #2
0
def doc_img_view(request, applicant_id, filename):
    applicant = get_object_or_404(Applicant, pk=applicant_id)
    docs = applicant.get_applicant_docs_or_none()

    if docs!=None:
        field_name, ext = os.path.splitext(filename)

        if not AppDocs.valid_field_name(field_name):
            return HttpResponseNotFound()

        try:
            full_path = docs.__getattribute__(field_name).path

            if os.path.exists(full_path):
                return serve_file(full_path)
            else:
                return HttpResponseNotFound()
        except ValueError:
            return HttpResponseNotFound()
    else:
        return HttpResponseNotFound()