Move extension preservetation code to the model. Improve document,

version and API views to include proper mimetype and encoding.
Update respective tests. GitLab issue #415.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-08-15 00:17:40 -04:00
parent 1aa985051e
commit 1faa63f56c
6 changed files with 130 additions and 62 deletions

View File

@@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals
import hashlib
import logging
import os
import uuid
from django.conf import settings
@@ -409,10 +410,16 @@ class DocumentVersion(models.Model):
def get_absolute_url(self):
return reverse('documents:document_version_view', args=(self.pk,))
def get_rendered_string(self):
return Template(
'{{ instance.document }} - {{ instance.timestamp }}'
).render(context=Context({'instance': self}))
def get_rendered_string(self, preserve_extension=False):
if preserve_extension:
filename, extension = os.path.splitext(self.document.label)
return '{} ({}){}'.format(
filename, self.get_rendered_timestamp(), extension
)
else:
return Template(
'{{ instance.document }} - {{ instance.timestamp }}'
).render(context=Context({'instance': self}))
def get_rendered_timestamp(self):
return Template('{{ instance.timestamp }}').render(