Add document download and document preview event logging. Add corresponding tests. Closes GitLab issue #261.

This commit is contained in:
Roberto Rosario
2016-04-04 13:49:14 -04:00
parent c6fb008562
commit 33aefdaef7
3 changed files with 134 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ from converter.permissions import permission_transformation_delete
from filetransfers.api import serve_file
from permissions import Permission
from .events import event_document_download, event_document_view
from .forms import (
DocumentDownloadForm, DocumentForm, DocumentPageForm, DocumentPreviewForm,
DocumentPropertiesForm, DocumentTypeSelectForm,
@@ -316,6 +317,10 @@ class DocumentPreviewView(SingleObjectDetailView):
DocumentPreviewView, self
).dispatch(request, *args, **kwargs)
self.get_object().add_as_recent_document_for_user(request.user)
event_document_view.commit(
actor=request.user, target=self.get_object()
)
return result
def get_extra_context(self):
@@ -841,6 +846,10 @@ def document_download(request, document_id=None, document_id_list=None, document
arcname=document_version.document.label
)
descriptor.close()
event_document_download.commit(
actor=request.user,
target=document_version.document
)
compressed_file.close()
@@ -865,6 +874,9 @@ def document_download(request, document_id=None, document_id_list=None, document
# Test permissions and trigger exception
fd = queryset.first().open()
fd.close()
event_document_download.commit(
actor=request.user, target=queryset.first().document
)
return serve_file(
request,
queryset.first().file,