]> git.parisson.com Git - telemeta.git/commitdiff
update item detail template (data fields)
authorolivier <>
Wed, 27 Jan 2010 15:49:59 +0000 (15:49 +0000)
committerolivier <>
Wed, 27 Jan 2010 15:49:59 +0000 (15:49 +0000)
telemeta/locale/fr/LC_MESSAGES/django.mo
telemeta/locale/fr/LC_MESSAGES/django.po
telemeta/models/crem.py
telemeta/models/dublincore.py
telemeta/templates/telemeta_default/collection_detail.html
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/templatetags/telemeta_utils.py

index 56dc17eee9e5ebc6d84a2cdc07931829c04166ac..472fc6e2c43ea57b701ed94bb6fdb3f900707c66 100644 (file)
Binary files a/telemeta/locale/fr/LC_MESSAGES/django.mo and b/telemeta/locale/fr/LC_MESSAGES/django.mo differ
index beac1804f083c92e35d85b8aa130e8858001156e..836b783ece7149674bef0b7505966c5f4f63ed04 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 14:25+0100\n"
+"POT-Creation-Date: 2010-01-27 16:46+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,15 +16,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: models/core.py:127
+#: models/core.py:130
 msgid "Duration"
 msgstr ""
 
-#: models/core.py:132
+#: models/core.py:135
 msgid "Enter a valid duration in HH:MM[:ss[.uuuuuu]] format."
 msgstr ""
 
-#: models/crem.py:150
+#: models/crem.py:150 models/crem.py:313
 msgid "reference"
 msgstr "référence"
 
@@ -68,7 +68,7 @@ msgstr "auteur de la notice éditée"
 msgid "related documentation"
 msgstr "documentation associée"
 
-#: models/crem.py:163 models/crem.py:308
+#: models/crem.py:163
 msgid "collector"
 msgstr "collecteur"
 
@@ -236,6 +236,10 @@ msgstr ""
 msgid "copy of"
 msgstr "copie de"
 
+#: models/crem.py:308
+msgid "recorded by"
+msgstr "enregistré par"
+
 #: models/crem.py:309
 msgid "cultural area"
 msgstr "aire culturelle"
@@ -248,14 +252,14 @@ msgstr "nom générique"
 msgid "collector selection"
 msgstr "sélection collecteur"
 
-#: models/crem.py:313
-msgid "depositor reference"
-msgstr "référence du déposant"
-
 #: models/crem.py:315
 msgid "file"
 msgstr "fichier"
 
+#: models/crem.py:322
+msgid "keywords"
+msgstr "mots-clés"
+
 #: models/crem.py:378 models/crem.py:504 models/crem.py:644
 msgid "item"
 msgstr "item"
@@ -277,7 +281,7 @@ msgstr "valeur"
 msgid "name"
 msgstr "nom"
 
-#: models/crem.py:482 models/crem.py:495 models/crem.py:506
+#: models/crem.py:482 models/crem.py:495
 msgid "instrument"
 msgstr ""
 
@@ -285,13 +289,21 @@ msgstr ""
 msgid "parent instrument"
 msgstr "instrument parent"
 
-#: models/crem.py:493 models/crem.py:508 models/crem.py:615
+#: models/crem.py:493 models/crem.py:615
 msgid "alias"
 msgstr "alias"
 
+#: models/crem.py:506
+msgid "scientific instrument"
+msgstr "instrument scientifique"
+
+#: models/crem.py:508
+msgid "vernacular instrument"
+msgstr "instrument vernaculaire"
+
 #: models/crem.py:509
-msgid "instruments num"
-msgstr "nb instruments"
+msgid "number"
+msgstr "nombre"
 
 #: models/crem.py:510
 msgid "interprets"
@@ -390,6 +402,7 @@ msgid "Recording year"
 msgstr "Année d'enregistrement"
 
 #: templates/telemeta_default/collection_detail.html:61
+#: templates/telemeta_default/mediaitem_detail.html:149
 msgid "Geographic and cultural informations"
 msgstr "Indications géographiques et culturelles"
 
@@ -402,21 +415,46 @@ msgid "Collector"
 msgstr "Collecteur"
 
 #: templates/telemeta_default/collection_detail.html:100
+#: templates/telemeta_default/mediaitem_detail.html:214
 msgid "Archiving data"
 msgstr "Données d'archivage"
 
 #: templates/telemeta_default/collection_detail.html:121
+#: templates/telemeta_default/mediaitem_detail.html:229
 msgid "Technical data"
 msgstr "Données techniques"
 
 #: templates/telemeta_default/collection_detail.html:126
+#: templates/telemeta_default/mediaitem_detail.html:232
 msgid "Media type"
 msgstr "Type de media"
 
 #: templates/telemeta_default/collection_detail.html:126
+#: templates/telemeta_default/mediaitem_detail.html:232
 msgid "Audio"
 msgstr ""
 
 #: templates/telemeta_default/collection_detail.html:130
 msgid "Number of items"
 msgstr "Nombre d'items"
+
+#: templates/telemeta_default/mediaitem_detail.html:136
+msgid "Collection title"
+msgstr "Titre collection"
+
+#: templates/telemeta_default/mediaitem_detail.html:140
+msgid "Recording date"
+msgstr "Date d'enregistrement"
+
+#: templates/telemeta_default/mediaitem_detail.html:152
+msgid "Location"
+msgstr "Lieu"
+
+#: templates/telemeta_default/mediaitem_detail.html:167
+msgid "Musical informations"
+msgstr "Informations sur la musique"
+
+#: templates/telemeta_default/mediaitem_detail.html:203
+msgid "General informations"
+msgstr "Informations générales"
+
index dd9378400349fa57d8c898b29778411c029c0846..d56181339a12c8f02f823039a692f5213d8e1b74 100755 (executable)
@@ -305,21 +305,21 @@ class MediaItem(MediaResource):
     external_references   = TextField(_('published reference'))
     moda_execut           = CharField(_('moda_execut'))
     copied_from_item      = WeakForeignKey('self', related_name="copies", verbose_name=_('copy of'))
-    collector             = CharField(_('collector'))
+    collector             = CharField(_('recorded by'))
     cultural_area         = CharField(_('cultural area'))
     generic_style         = WeakForeignKey('GenericStyle', related_name="items", 
                                            verbose_name=_('generic name'))
     collector_selection   = CharField(_('collector selection'))
-    creator_reference     = CharField(_('depositor reference'))
+    creator_reference     = CharField(_('reference'))
     comment               = TextField(_('comment'))
     file                  = FileField(_('file'), upload_to='items/%Y/%m/%d', db_column="filename")
     public_access         = CharField(_('public access'), choices=PUBLIC_ACCESS_CHOICES, max_length=16, default="metadata")
 
     objects               = query.MediaItemManager()
 
-    @property
     def keywords(self):
-        return ContextKeyword.objects.filter(mediaitemkeyword__item = self)
+        return ContextKeyword.objects.filter(item_relations__item = self)
+    keywords.verbose_name = _('keywords')
 
     @property
     def public_id(self):
@@ -503,10 +503,10 @@ class MediaItemPerformance(ModelCore):
     media_item      = ForeignKey('MediaItem', related_name="performances", 
                                  verbose_name=_('item'))
     instrument      = WeakForeignKey('Instrument', related_name="performances", 
-                                     verbose_name=_('instrument'))
+                                     verbose_name=_('scientific instrument'))
     alias           = WeakForeignKey('InstrumentAlias', related_name="performances", 
-                                     verbose_name=_('alias'))
-    instruments_num = CharField(_('instruments num'))
+                                     verbose_name=_('vernacular instrument'))
+    instruments_num = CharField(_('number'))
     musicians       = CharField(_('interprets'))
 
     class Meta(MetaCore):
@@ -641,8 +641,8 @@ class ContextKeyword(Enumeration):
 
 class MediaItemKeyword(ModelCore):
     "Item keyword"
-    item    = ForeignKey('MediaItem', verbose_name=_('item'))
-    keyword = ForeignKey('ContextKeyword', verbose_name=_('keyword'))
+    item    = ForeignKey('MediaItem', verbose_name=_('item'), related_name="keyword_relations")
+    keyword = ForeignKey('ContextKeyword', verbose_name=_('keyword'), related_name="item_relations")
 
     class Meta(MetaCore):
         db_table = 'media_item_keywords'
index 5c833371f6549854a23542099ac74183bd1486f0..a839e7f646f48b2d75ce589d7804c18f663b50db 100644 (file)
@@ -205,7 +205,7 @@ def express_item(item):
         creator,
         Element('contributor',      item.collection.metadata_author),
         Element.multiple('subject', settings.TELEMETA_SUBJECTS),
-        Element.multiple('subject', item.keywords),
+        Element.multiple('subject', item.keywords()),
         Element('description',      item.context_comment, 'abstract'),
         Element('publisher',        item.collection.publisher),
         Element('publisher',        settings.TELEMETA_ORGANIZATION),
index fa915b92451b5eb6765dc421a06e2ee82f781e87..1220740a91225fedf1723452ace31991de4b747b 100644 (file)
@@ -61,8 +61,8 @@
                 <h4><a href="#">{% trans "Geographic and cultural informations" %}</a></h4>\r
                 <div>\r
                     <dl class="listing">\r
-                    {% dl_field collection "countries" join with ", " %}\r
-                    {% dl_field collection "ethnic_groups" join with ", " %}\r
+                        {% dl_field collection "countries" join with ", " %}\r
+                        {% dl_field collection "ethnic_groups" join with ", " %}\r
                     </dl>\r
                 </div>\r
             </div>\r
index 1344907ecf259c168267c1f643bfcfeffc96f2a3..655d0922b9c7735977d7e2d7f9c597d4efb3993e 100644 (file)
@@ -1,5 +1,6 @@
 {% extends "telemeta/base.html" %}\r
 {% load telemeta_utils %}\r
+{% load i18n %}\r
 \r
 {% block stylesheets %}\r
 {{ block.super }}\r
@@ -127,15 +128,17 @@ load_player({{ item.get_duration }});
     <div class="infos">\r
     {% block general_info %}\r
         <dl class="listing">\r
-            {% if item.auteur %}<dt>Auteur</dt><dd>{{ item.auteur }}</dd>{% endif %}\r
-            {% if item.annee_enr %}<dt>Année d'enregistrement</dt><dd>{{ item.annee_enr }}</dd>{% endif %}\r
-            {% if item.dates_enregistr %}<dt>Date d'enregistrement</dt><dd>{{ item.dates_enregistr }}</dd>{% endif %}\r
-            {% if item.title %}<dt>Titre</dt><dd>{{ item.title }}</dd>{% endif %}\r
-            {% if item.transcrip_trad %}<dt>Traduction du titre</dt><dd>{{ item.transcrip_trad }}</dd>{% endif %}\r
-            <dt>Collection</dt><dd><a href="{% url telemeta-collection-detail item.collection.public_id %}">{{ item.collection.title }}</a></dd>\r
-            {% if item.duree %}<dt>Durée</dt><dd>{{ item.duree }}</dd>{% endif %}\r
-            {% if item.collection.ispublished and item.Ref %}\r
-            <dt>Ref</dt><dd>{{ item.Ref }}</dd>\r
+            {% dl_field item "collection" %}\r
+            {% dl_field item "title" %}\r
+            {% dl_field item "alt_title" %}\r
+            {% dl_field item "collector" %}\r
+            {% if item.collection.title %}\r
+                <dt>{% trans "Collection title" %}</dt>\r
+                <dd>{{ item.collection.title }}</dd>\r
+            {% endif %}\r
+            {% if item.recorded_from_date %}\r
+                <dt>{% trans "Recording date" %}</dt>\r
+                <dd>{{ item.recorded_from_date }} {{ item.recorded_to_date|prepend:" - "  }}</dd>\r
             {% endif %}\r
         </dl>\r
     {% endblock general_info %}\r
@@ -143,85 +146,96 @@ load_player({{ item.get_duration }});
     <div class="extraInfos">\r
     {% block geoethnic_data %}\r
         <div>\r
-            <h4><a href="#">Informations géographiques et ethnographiques</a></h4>\r
+            <h4><a href="#">{% trans "Geographic and cultural informations" %}</a></h4>\r
             <dl class="listing">\r
-            {% if item.continent %}<dt>Continent</dt><dd>{{ item.continent }}</dd>{% endif %}\r
-            {% if item.etat %}<dt>État / Nation</dt><dd>{{ item.etat }}</dd>{% endif %}\r
-            {% if item.region_village %}<dt>Région / Village</dt><dd>{{ item.region_village }}</dd>{% endif %}\r
-            {% if item.ethnie_grsocial %}<dt>Ethnie/ Groupe social</dt><dd>{{ item.ethnie_grsocial }}</dd>{% endif %}\r
-            {% if item.aire_geo_cult %}<dt>Aire culturelle</dt><dd>{{ item.aire_geo_cult }}</dd>{% endif %}\r
-            {% if item.fonction_usage or item.comm_fonctusage %}\r
-            <dt class="group">Contexte ethnographique</dt>\r
-            {% if item.fonction_usage %}<dt class="sub">Mots clés</dt><dd>{{ item.fonction_usage }}</dd>{% endif %}\r
-            {% if item.comm_fonctusage %}<dt class="sub">Commentaires</dt><dd>{{ item.comm_fonctusage }}</dd>{% endif %}\r
-            {% endif %}\r
+                {% if item.location %}\r
+                    <dt>{% trans "Location" %}</dt>\r
+                    <dd>{{ item.location.fullname }}</dd>\r
+                {% endif %}\r
+                {% dl_field item "location_comment" %}\r
+                {% dl_field item "cultural_area" %}\r
+                {% dl_field item "ethnic_group" %}\r
+                {% dl_field item "context_comment" %}\r
+                {% dl_field item "keywords" join with ", " %}\r
             </dl>\r
         </div>\r
     {% endblock geoethnic_data %}\r
     </div>\r
     <div class="extraInfos">\r
-    {% block musical_performances %}\r
+    {% block musical_data %}\r
         <div>\r
-            <h4><a href="#">Formation musicale</a></h4>\r
+            <h4><a href="#">{% trans "Musical informations" %}</a></h4>\r
             <dl class="listing">\r
-            {% if item.form_genr_style %}<dt>Forme / genre vernaculaire</dt><dd>{{ item.form_genr_style }}</dd>{% endif %}\r
-            {% if item.formstyl_generi %}<dt>Forme / genre générique</dt><dd>{{ item.formstyl_generi }}</dd>{% endif %}\r
+                {% dl_field item "vernacular_style" %}\r
+                {% dl_field item "generic_style" %}\r
+                {% dl_field item "author" %}\r
             </dl>\r
+            {% if item.performances %}\r
             <div class="instruments">\r
                 <table class="instruments">\r
                 <thead>\r
                     <tr>\r
-                        <td>Nombre</td>\r
-                        <td>Nom générique</td>\r
-                        <td>Nom vernaculaire</td>\r
-                        <td>Interprète </td>\r
+                        <td>{% field_label "MediaItemPerformance" "instruments_num" %}</td>\r
+                        <td>{% field_label "MediaItemPerformance" "instrument" %}</td>\r
+                        <td>{% field_label "MediaItemPerformance" "alias" %}</td>\r
+                        <td>{% field_label "MediaItemPerformance" "musicians" %}</td>\r
                     </tr>\r
                 </thead>\r
                 <tbody>\r
+                    {% for performance in item.performances.all %}\r
                     <tr>\r
-                        <td>-</td>\r
-                        <td>-</td>\r
-                        <td>-</td>\r
-                        <td>-</td>\r
+                        <td>{{ performance.instruments_num }}</td>\r
+                        <td>{{ performance.instrument|default:"" }}</td>\r
+                        <td>{{ performance.alias|default:"" }}</td>\r
+                        <td>{{ performance.musicians }}</td>\r
                     </tr>\r
+                    {% endfor %}\r
                 </tbody>\r
                 </table>\r
             </div>\r
+            {% endif %}\r
         </div>\r
-    {% endblock musical_performances %}\r
+    {% endblock musical_data %}\r
     </div>\r
     <div class="extraInfos">\r
-    {% block document_identification %}\r
+    {% block general_data %}\r
         <div>\r
-            <h4><a href="#">Identification du document</a></h4>\r
+            <h4><a href="#">{% trans "General informations" %}</a></h4>\r
             <dl class="listing">\r
-            {% if item.format %}<dt>Format</dt><dd>{{ item.format }}</dd>{% endif %}\r
-            {% if item.id %}<dt>Cote item</dt><dd>{{ item.id }}</dd>{% endif %}\r
-            {% if item.face_plage %}<dt>N° de l'item</dt><dd>{{ item.face_plage }}</dd>{% endif %}\r
+                {% dl_field item "comment" %}\r
+                {% dl_field item "collector_selection" %}\r
             </dl>\r
         </div>\r
-    {% endblock document_identification %}\r
+    {% endblock general_data %}\r
     </div>\r
     <div class="extraInfos">\r
-    {% block document_data %}\r
+    {% block archive_data %}\r
         <div>\r
-            <h4><a href="#">Informations documentaires</a></h4>\r
+            <h4><a href="#">{% trans "Archiving data" %}</a></h4>\r
             <dl class="listing">\r
-            {% if item.choixcollecteur %}<dt>choixcollecteur</dt><dd>{{ item.choixcollecteur }}</dd>{% endif %}\r
-            {% if item.copie_de %}<dt>Copie de</dt><dd>{{ item.copie_de }}</dd>{% endif %}\r
-            {% if item.enregistre_par %}<dt>Enregistré par</dt><dd>{{ item.enregistre_par }}</dd>{% endif %}\r
-            {% if item.file %}<dt>File</dt><dd>{{ item.file }}</dd>{% endif %}\r
-            {% if item.get_duration %}<dt>get duration</dt><dd>{{ item.get_duration }}</dd>{% endif %}\r
-            {% if item.moda_execut %}<dt>moda execut</dt><dd>{{ item.moda_execut }}</dd>{% endif %}\r
-            {% if item.nroband_nropiec %}<dt>nroband nropiec</dt><dd>{{ item.nroband_nropiec }}</dd>{% endif %}\r
-            {% if item.remarques %}<dt>Remarques</dt><dd>{{ item.remarques }}</dd>{% endif %}\r
-            {% if item.repere_bande %}<dt>Repère bande</dt><dd>{{ item.repere_bande }}</dd>{% endif %}\r
-            {% if item.struct_modale %}<dt>Struct modale</dt><dd>{{ item.struct_modale }}</dd>{% endif %}\r
-            {% if item.struct_rythm %}<dt>Struct rythm</dt><dd>{{ item.struct_rythm }}</dd>{% endif %}\r
-            {% if item.titre_support %}<dt>Titre support</dt><dd>{{ item.titre_support }}</dd>{% endif %}\r
+                {% dl_field item "code" %}\r
+                {% dl_field item "old_code" %}\r
+                {% dl_field item "track" %}\r
+                {% dl_field item "creator_reference" %}\r
+                {% dl_field item "external_references" %}\r
+                {% dl_field item "public_access" %}\r
             </dl>\r
         </div>\r
-    {% endblock document_data %}\r
+    {% endblock archive_data %}\r
+    </div>\r
+    <div class="extraInfos">\r
+    {% block technical_data %}\r
+        <div>\r
+            <h4><a href="#">{% trans "Technical data" %}</a></h4>\r
+            <div>\r
+                <dl class="listing">\r
+                    <dt>{% trans "Media type" %}</dt><dd>{% trans "Audio" %}</dd>\r
+                    {% dl_field item "approx_duration" %}\r
+                    {% dl_field item "computed_duration" %}\r
+                </dl>\r
+            </div>\r
+        </div>\r
+    {% endblock technical_data %}\r
     </div>\r
 \r
 </div> <!-- with-rightcol -->\r
index e92cbfdf64a0f953df758fde19ca31a9bd25ffec..86d7bf760556966637f79f7001b954dda0d1e559 100644 (file)
@@ -1,6 +1,6 @@
 from django import template
 from django.utils.http import urlquote
-from telemeta.models import MediaItem, MediaCollection
+from telemeta import models
 from django.core.urlresolvers import reverse
 import telemeta.models.dublincore as dc
 from django.utils import html
@@ -84,15 +84,15 @@ def code_or_id(resource):
      
 @register.filter
 def is_item(resource):
-    return isinstance(resource, MediaItem)
+    return isinstance(resource, models.MediaItem)
 
 @register.filter
 def is_collection(resource):
-    return isinstance(resource, MediaCollection)
+    return isinstance(resource, models.MediaCollection)
 
 @register.filter
 def to_dublincore(resource):
-    if isinstance(resource, MediaItem):
+    if isinstance(resource, models.MediaItem):
         return dc.express_item(resource)
     else:
         return dc.express_collection(resource)
@@ -161,3 +161,11 @@ def prepend(str, prefix):
     if str:
         return prefix + unicode(str)
     return ''
+
+@register.simple_tag
+def field_label(model, field):
+    if isinstance(model, basestring):
+        model = getattr(models, model)
+            
+    return capfirst(unicode(model.field_label(field)))
+