Move the encrypt/decrypt decision out of db and into the view

This commit is contained in:
Daniel Quinn
2018-02-04 13:14:23 +00:00
parent da6dc2ad5b
commit cdc07cf153
2 changed files with 7 additions and 6 deletions

View File

@@ -52,12 +52,12 @@ class FetchView(SessionOrBasicAuthMixin, DetailView):
if self.kwargs["kind"] == "thumb":
return HttpResponse(
GnuPG.decrypted(self.object.thumbnail_file),
self._get_raw_data(self.object.thumbnail_file),
content_type=content_types[Document.TYPE_PNG]
)
response = HttpResponse(
GnuPG.decrypted(self.object.source_file),
self._get_raw_data(self.object.source_file),
content_type=content_types[self.object.file_type]
)
response["Content-Disposition"] = 'attachment; filename="{}"'.format(
@@ -65,6 +65,11 @@ class FetchView(SessionOrBasicAuthMixin, DetailView):
return response
def _get_raw_data(self, file_handle):
if self.object.storage_type == Document.STORAGE_TYPE_UNENCRYPTED:
return file_handle
return GnuPG.decrypted(file_handle)
class PushView(SessionOrBasicAuthMixin, FormView):
"""