]> git.parisson.com Git - telemeta.git/commitdiff
bugfix
authorGuillaume Pellerin <yomguy@parisson.com>
Tue, 13 Jan 2015 14:44:35 +0000 (15:44 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Tue, 13 Jan 2015 14:44:35 +0000 (15:44 +0100)
telemeta/forms/media.py
telemeta/models/media.py

index 72f08c0a7d7da471b02f7809324b16caeed8107d..3d37995b1763ad267cb8b116c69c1100b882be26 100644 (file)
@@ -82,7 +82,7 @@ class MediaCollectionForm(ModelForm):
 
     class Meta:
         model = MediaCollection
-        exclude = ['alt_ids', 'travail']
+        exclude = model.exclude
 
     def clean_doctype_code(self):
         return self.cleaned_data['doctype_code'] or 0
@@ -92,11 +92,7 @@ class MediaItemForm(ModelForm):
 
     class Meta:
         model = MediaItem
-        exclude = ('copied_from_item', 'mimetype', 'url',
-                    'organization', 'depositor', 'rights',
-                    'recordist', 'digitalist', 'digitization_date',
-                    'publishing_date', 'scientist', 'topic',
-                    'summary', 'contributor', )
+        exclude = model.exclude
 
     def clean_code(self):
         return self.cleaned_data['code'] or None
index f2616ccca2e48532b6ba4e3753b99b68e7daf079..2596e570e48f1d2395c23d36cb4fb752e14b71a2 100644 (file)
@@ -40,6 +40,7 @@ import re, os, random
 import mimetypes
 from django.contrib.auth.models import User
 from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import ugettext
 from django.core.exceptions import ValidationError
 from telemeta.models.core import *
 from telemeta.models.enum import ContextKeyword
@@ -57,6 +58,7 @@ from django.db.models import URLField
 from django.conf import settings
 from django.core.urlresolvers import reverse, reverse_lazy
 from django.contrib.sites.models import Site
+from django.forms.models import model_to_dict
 
 
 # Special code regex of collections for the branch
@@ -201,7 +203,6 @@ class MediaCollection(MediaResource):
 
     element_type = 'collection'
 
-
     def is_valid_collection_code(value):
         "Check if the collection code is well formed"
         regex = '^' + collection_code_regex + '$'
@@ -268,6 +269,8 @@ class MediaCollection(MediaResource):
     # All
     objects               = MediaCollectionManager()
 
+    exclude = ['alt_ids', 'travail']
+
     class Meta(MetaCore):
         db_table = 'media_collections'
         ordering = ['code']
@@ -347,14 +350,14 @@ class MediaCollection(MediaResource):
 
     def document_status(self):
         if '_I_' in self.public_id:
-            return _('Unpublished')
+            return ugettext('Unpublished')
         elif '_E_' in self.public_id:
-            return _('Published')
+            return ugettext('Published')
         else:
             return ''
 
     def to_dict_with_more(self):
-        metadata = self.to_dict()
+        metadata = model_to_dict(self, fields=[], exclude=self.exclude)
         metadata['url'] = get_full_url(reverse('telemeta-collection-detail', kwargs={'public_id':self.pk}))
         metadata['doc_status'] = self.document_status()
         metadata['countries'] = ';'.join([location.name for location in self.main_countries()])
@@ -461,6 +464,12 @@ class MediaItem(MediaResource):
     # Manager
     objects               = MediaItemManager()
 
+    exclude = ['copied_from_item', 'mimetype', 'url',
+                    'organization', 'depositor', 'rights',
+                    'recordist', 'digitalist', 'digitization_date',
+                    'publishing_date', 'scientist', 'topic',
+                    'summary', 'contributor', ]
+
     def keywords(self):
         return ContextKeyword.objects.filter(item_relations__item = self)
     keywords.verbose_name = _('keywords')
@@ -562,11 +571,11 @@ class MediaItem(MediaResource):
     size.verbose_name = _('item size')
 
     def to_dict_with_more(self):
-        metadata = self.to_dict()
+        metadata = model_to_dict(self, fields=[], exclude=self.exclude)
         metadata['url'] = get_full_url(reverse('telemeta-item-detail', kwargs={'public_id':self.pk}))
         metadata['last_modification_date'] = unicode(self.get_revision().time)
         # metadata['computed_duration'] = unicode(self.computed_duration())
-        metadata['computed_size'] = unicode(self.size())
+        metadata['file_size'] = unicode(self.size())
 
         keywords = []
         for keyword in self.keywords():