From: Guillaume Pellerin Date: Tue, 17 Dec 2013 19:00:28 +0000 (+0100) Subject: add notes to all enumerations, add sound check for collections in corpus X-Git-Tag: 1.4.5~3^2~6 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=4a88d5809f15ce2ab2fc6acbf0beede32518cc64;p=telemeta.git add notes to all enumerations, add sound check for collections in corpus --- diff --git a/example/sandbox/settings.py b/example/sandbox/settings.py index 0a380300..ddaf6e0a 100644 --- a/example/sandbox/settings.py +++ b/example/sandbox/settings.py @@ -129,6 +129,7 @@ INSTALLED_APPS = ( 'jsonrpc', 'south', 'sorl.thumbnail', + 'notes', ) TEMPLATE_CONTEXT_PROCESSORS = ( diff --git a/setup.py b/setup.py index 6f99c550..ca155e6f 100644 --- a/setup.py +++ b/setup.py @@ -21,6 +21,7 @@ setup( 'sorl-thumbnail', 'django-extensions', 'docutils', + 'django-notes', ], platforms=['OS Independent'], license='CeCILL v2', diff --git a/telemeta/models/enum.py b/telemeta/models/enum.py index a9841f1c..d65e1959 100644 --- a/telemeta/models/enum.py +++ b/telemeta/models/enum.py @@ -35,6 +35,9 @@ from telemeta.models.core import * from django.utils.translation import ugettext_lazy as _ +from django.contrib.contenttypes import generic +from notes.models import Note + class Enumeration(ModelCore): "Abstract enumerations base class" @@ -52,6 +55,8 @@ class MetaEnumeration(MetaCore): class PhysicalFormat(Enumeration): "Collection physical format" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'physical_formats' verbose_name = _("archive format") @@ -59,6 +64,8 @@ class PhysicalFormat(Enumeration): class PublishingStatus(Enumeration): "Collection publishing status" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'publishing_status' verbose_name = _("secondary edition") @@ -66,12 +73,16 @@ class PublishingStatus(Enumeration): class AcquisitionMode(Enumeration): "Mode of acquisition of the collection" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'acquisition_modes' verbose_name = _("mode of acquisition") class MetadataAuthor(Enumeration): "Collection metadata author" + + notes = generic.GenericRelation(Note) class Meta(MetaEnumeration): db_table = 'metadata_authors' @@ -80,6 +91,8 @@ class MetadataAuthor(Enumeration): class MetadataWriter(Enumeration): "Collection metadata writer" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'metadata_writers' verbose_name = _("record writer") @@ -87,6 +100,8 @@ class MetadataWriter(Enumeration): class LegalRight(Enumeration): "Collection legal rights" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'legal_rights' verbose_name = _("legal rights") @@ -94,6 +109,8 @@ class LegalRight(Enumeration): class RecordingContext(Enumeration): "Collection recording context" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'recording_contexts' verbose_name = _("recording context") @@ -101,6 +118,8 @@ class RecordingContext(Enumeration): class AdConversion(Enumeration): "Collection digital to analog conversion status" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'ad_conversions' verbose_name = _("A/D conversion") @@ -108,6 +127,8 @@ class AdConversion(Enumeration): class VernacularStyle(Enumeration): "Item vernacular style" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'vernacular_styles' verbose_name = _("vernacular style") @@ -115,6 +136,8 @@ class VernacularStyle(Enumeration): class GenericStyle(Enumeration): "Item generic style" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'generic_styles' verbose_name = _("generic style") @@ -122,6 +145,8 @@ class GenericStyle(Enumeration): class ContextKeyword(Enumeration): "Keyword" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'context_keywords' verbose_name = _("keyword") @@ -129,14 +154,19 @@ class ContextKeyword(Enumeration): class Publisher(Enumeration): "Collection publisher" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'publishers' verbose_name = _("publisher / status") + class PublisherCollection(ModelCore): "Collection which belongs to publisher" + publisher = ForeignKey('Publisher', related_name="publisher_collections", verbose_name=_('publisher')) value = CharField(_('value'), required=True) + notes = generic.GenericRelation(Note) def __unicode__(self): return self.value @@ -145,17 +175,23 @@ class PublisherCollection(ModelCore): db_table = 'publisher_collections' ordering = ['value'] + class EthnicGroup(Enumeration): "Item ethnic group" + notes = generic.GenericRelation(Note) + class Meta(MetaEnumeration): db_table = 'ethnic_groups' verbose_name = _('population / social group') + class EthnicGroupAlias(ModelCore): "Item ethnic group other name" + ethnic_group = ForeignKey('EthnicGroup', related_name="aliases", verbose_name=_('population / social group')) value = CharField(_('name'), required=True) + notes = generic.GenericRelation(Note) class Meta(MetaCore): db_table = 'ethnic_group_aliases' diff --git a/telemeta/templates/telemeta/inc/children_list.html b/telemeta/templates/telemeta/inc/children_list.html index a15a4cf8..d20b25f1 100644 --- a/telemeta/templates/telemeta/inc/children_list.html +++ b/telemeta/templates/telemeta/inc/children_list.html @@ -16,6 +16,7 @@ {% trans "Description" %} {% trans "Code" %} {% trans "Reference" %} + {% trans "Sound" %} {% for child in children %} {% if child.code %} @@ -26,6 +27,11 @@ {{ child.description }} {{ child.code }} {{ child.reference }} + + {% if child.has_mediafile %} + yes + {% endif %} + {% endif %} {% endfor %} diff --git a/telemeta/views/admin.py b/telemeta/views/admin.py index f3b37c21..62fae36a 100644 --- a/telemeta/views/admin.py +++ b/telemeta/views/admin.py @@ -130,11 +130,14 @@ class AdminView(object): if enumeration == None: raise Http404 + record = enumeration.objects.get(id__exact=value_id) + vars = self.__get_admin_context_vars() vars["enumeration_id"] = enumeration._meta.module_name vars["enumeration_name"] = enumeration._meta.verbose_name - vars["enumeration_record"] = enumeration.objects.get(id__exact=value_id) + vars["enumeration_record"] = record vars["enumeration_records"] = enumeration.objects.all() + vars["enumeration_notes"] = record.notes.all() return render(request, 'telemeta/enumeration_edit_value.html', vars)