예제 #1
0
def preview_odt(request, document_id):
    document = get_object_or_404(Document, pk=document_id)

    if request.method == 'POST':
        form = ODTForm(request.POST)
        if form.is_valid():
            inputFile = document.latest_version().content.path
            filename = Pipeline2.dtbook2odt(inputFile,
                                            imageFiles=document.image_set.all(),
                                            **form.cleaned_data)

            if isinstance(filename, tuple):
                # if filename is a tuple we're actually looking at a list of error messages
                errorMessages = filename
                return render(request, 'documents/todo_odt.html', locals())

            return render_to_mimetype_response('application/vnd.oasis.opendocument.text', 
                                               document.title.encode('utf-8'), filename)
    else:
        form = ODTForm()

    return render(request, 'documents/todo_odt.html', locals())