Add document version list view and document version download

This commit is contained in:
Roberto Rosario
2011-12-02 05:54:00 -04:00
parent 640a1c2966
commit 3e471f702e
5 changed files with 80 additions and 15 deletions

View File

@@ -53,8 +53,9 @@ from documents.forms import DocumentTypeSelectForm, \
DocumentPageForm_text, PrintForm, DocumentTypeForm, \
DocumentTypeFilenameForm, DocumentTypeFilenameForm_create
from documents.wizards import DocumentCreateWizard
from documents.models import Document, DocumentType, DocumentPage, \
DocumentPageTransformation, RecentDocument, DocumentTypeFilename
from documents.models import (Document, DocumentType, DocumentPage,
DocumentPageTransformation, RecentDocument, DocumentTypeFilename,
DocumentVersion)
# Document type permissions
from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT, \
@@ -294,6 +295,10 @@ def get_document_image(request, document_id, size=PREVIEW_SIZE, base64_version=F
return sendfile.sendfile(request, document.get_image(size=size, page=page, zoom=zoom, rotation=rotation), mimetype=DEFAULT_FILE_FORMAT_MIMETYPE)
def document_version_download(request, document_version_pk):
document_version = get_object_or_404(DocumentVersion, pk=document_version_pk)
return document_download(request, document_version.document.pk)
def document_download(request, document_id):
check_permissions(request.user, [PERMISSION_DOCUMENT_DOWNLOAD])
@@ -1142,3 +1147,44 @@ def document_clear_image_cache(request):
'title': _(u'Are you sure you wish to clear the document image cache?'),
'form_icon': u'camera_delete.png',
}, context_instance=RequestContext(request))
def document_version_list(request, document_pk):
check_permissions(request.user, [PERMISSION_DOCUMENT_VIEW])
document = get_object_or_404(Document, pk=document_pk)
context = {
'object_list': document.versions.all(),
'title': _(u'versions for document: %s') % document,
'hide_object': True,
'object': document,
'extra_columns': [
{
'name': _(u'version'),
'attribute': 'get_version',
},
{
'name': _(u'time and date'),
'attribute': 'timestamp',
},
{
'name': _(u'mimetype'),
'attribute': 'mimetype',
},
{
'name': _(u'encoding'),
'attribute': 'encoding',
},
{
'name': _(u'filename'),
'attribute': 'filename',
},
{
'name': _(u'comment'),
'attribute': 'comment',
},
]
}
return render_to_response('generic_list.html', context,
context_instance=RequestContext(request))