views: log download actions (fixes #22944)

This commit is contained in:
Benjamin Dauvergne 2018-03-31 12:19:50 +02:00
parent 89987b6bd6
commit 3a6a89da48
1 changed files with 9 additions and 1 deletions

View File

@ -159,10 +159,13 @@ class Pick(PickView, Documents, Logger, View):
return HttpResponseRedirect(make_url(self.pick_url, url=download_url))
class Download(Documents, View):
class Download(Documents, Logger, View):
def get(self, request, pk, filename):
user_document = get_object_or_404(self.get_queryset(), pk=pk,
user=self.request.user)
self.logger.info('user download file %s with hash %s',
user_document.filename,
user_document.document.content_hash)
return self.return_user_document(user_document)
def return_user_document(self, user_document):
@ -202,6 +205,11 @@ class RemoteDownload(Download):
except signing.BadSignature:
return HttpResponseForbidden('token signature is invalid')
user_document = get_object_or_404(models.UserDocument, pk=pk)
self.logger.info('anonymous download of file %s from user %s(%s) with hash %s',
user_document.filename,
user_document.user,
user_document.user.pk,
user_document.document.content_hash)
return self.return_user_document(user_document)