Updated documents app admin, model and view modules to use the merged

filename and extension
This commit is contained in:
Roberto Rosario
2011-11-30 08:54:37 -04:00
parent c6f8534208
commit f554655688
3 changed files with 6 additions and 12 deletions

View File

@@ -35,7 +35,7 @@ class DocumentAdmin(admin.ModelAdmin):
inlines = [ inlines = [
DocumentMetadataInline, DocumentPageInline DocumentMetadataInline, DocumentPageInline
] ]
list_display = ('uuid', 'file_filename', 'file_extension') list_display = ('uuid', 'file_filename',)
class RecentDocumentAdmin(admin.ModelAdmin): class RecentDocumentAdmin(admin.ModelAdmin):

View File

@@ -46,10 +46,7 @@ def get_filename_from_uuid(instance, filename):
Store the orignal filename of the uploaded file and replace it with Store the orignal filename of the uploaded file and replace it with
a UUID a UUID
""" """
filename, extension = os.path.splitext(filename)
instance.file_filename = filename instance.file_filename = filename
#remove prefix '.'
instance.file_extension = extension[1:]
uuid = UUID_FUNCTION() uuid = UUID_FUNCTION()
instance.uuid = uuid instance.uuid = uuid
return uuid return uuid
@@ -82,7 +79,6 @@ class Document(models.Model):
file_mime_encoding = models.CharField(max_length=64, default='', editable=False) file_mime_encoding = models.CharField(max_length=64, default='', editable=False)
#FAT filename can be up to 255 using LFN #FAT filename can be up to 255 using LFN
file_filename = models.CharField(max_length=255, default=u'', editable=False, db_index=True) file_filename = models.CharField(max_length=255, default=u'', editable=False, db_index=True)
file_extension = models.CharField(max_length=16, default=u'', editable=False, db_index=True)
date_added = models.DateTimeField(verbose_name=_(u'added'), auto_now_add=True, db_index=True) date_added = models.DateTimeField(verbose_name=_(u'added'), auto_now_add=True, db_index=True)
date_updated = models.DateTimeField(verbose_name=_(u'updated'), auto_now=True) date_updated = models.DateTimeField(verbose_name=_(u'updated'), auto_now=True)
checksum = models.TextField(blank=True, null=True, verbose_name=_(u'checksum'), editable=False) checksum = models.TextField(blank=True, null=True, verbose_name=_(u'checksum'), editable=False)
@@ -102,7 +98,7 @@ class Document(models.Model):
ordering = ['-date_added'] ordering = ['-date_added']
def __unicode__(self): def __unicode__(self):
return os.extsep.join([self.file_filename, self.file_extension]) return self.get_fullname()
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
""" """
@@ -130,7 +126,7 @@ class Document(models.Model):
""" """
Return the fullname of the document's file Return the fullname of the document's file
""" """
return os.extsep.join([self.file_filename, self.file_extension]) return self.file_filename
def update_mimetype(self, save=True): def update_mimetype(self, save=True):
""" """
@@ -420,7 +416,6 @@ register('document', Document, _(u'document'), [
{'name': u'document_type__name', 'title': _(u'Document type')}, {'name': u'document_type__name', 'title': _(u'Document type')},
{'name': u'file_mimetype', 'title': _(u'MIME type')}, {'name': u'file_mimetype', 'title': _(u'MIME type')},
{'name': u'file_filename', 'title': _(u'Filename')}, {'name': u'file_filename', 'title': _(u'Filename')},
{'name': u'file_extension', 'title': _(u'Filename extension')},
{'name': u'documentmetadata__value', 'title': _(u'Metadata value')}, {'name': u'documentmetadata__value', 'title': _(u'Metadata value')},
{'name': u'documentpage__content', 'title': _(u'Content')}, {'name': u'documentpage__content', 'title': _(u'Content')},
{'name': u'description', 'title': _(u'Description')}, {'name': u'description', 'title': _(u'Description')},
@@ -428,4 +423,4 @@ register('document', Document, _(u'document'), [
{'name': u'comments__comment', 'title': _(u'Comments')}, {'name': u'comments__comment', 'title': _(u'Comments')},
] ]
) )
#register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'file_extension', 'documentmetadata__value', 'documentpage__content', 'description', {'field_name':'file_filename', 'comparison':'iexact'}]) #register(Document, _(u'document'), ['document_type__name', 'file_mimetype', 'documentmetadata__value', 'documentpage__content', 'description', {'field_name':'file_filename', 'comparison':'iexact'}])

View File

@@ -65,7 +65,7 @@ def document_list(request, object_list=None, title=None, extra_context=None):
check_permissions(request.user, [PERMISSION_DOCUMENT_VIEW]) check_permissions(request.user, [PERMISSION_DOCUMENT_VIEW])
context = { context = {
'object_list': object_list if not (object_list is None) else Document.objects.only('file_filename', 'file_extension').all(), 'object_list': object_list if not (object_list is None) else Document.objects.only('file_filename',).all(),
'title': title if title else _(u'documents'), 'title': title if title else _(u'documents'),
'multi_select_as_buttons': True, 'multi_select_as_buttons': True,
'hide_links': True, 'hide_links': True,
@@ -115,7 +115,6 @@ def document_view(request, document_id, advanced=False):
if advanced: if advanced:
document_properties_form = DocumentPropertiesForm(instance=document, extra_fields=[ document_properties_form = DocumentPropertiesForm(instance=document, extra_fields=[
{'label': _(u'Filename'), 'field': 'file_filename'}, {'label': _(u'Filename'), 'field': 'file_filename'},
{'label': _(u'File extension'), 'field': 'file_extension'},
{'label': _(u'File mimetype'), 'field': 'file_mimetype'}, {'label': _(u'File mimetype'), 'field': 'file_mimetype'},
{'label': _(u'File mime encoding'), 'field': 'file_mime_encoding'}, {'label': _(u'File mime encoding'), 'field': 'file_mime_encoding'},
{'label': _(u'File size'), 'field':lambda x: pretty_size(x.size) if x.size else '-'}, {'label': _(u'File size'), 'field':lambda x: pretty_size(x.size) if x.size else '-'},
@@ -482,7 +481,7 @@ def document_update_page_count(request):
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/'))) previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
office_converter = OfficeConverter() office_converter = OfficeConverter()
qs = Document.objects.exclude(file_extension__iendswith='dxf').filter(file_mimetype__in=office_converter.mimetypes()) qs = Document.objects.exclude(file_filename__iendswith='dxf').filter(file_mimetype__in=office_converter.mimetypes())
if request.method == 'POST': if request.method == 'POST':
updated = 0 updated = 0