]> git.parisson.com Git - telemeta.git/commitdiff
add item keywords edit, fix some fr locales
authoryomguy <yomguy@parisson.com>
Wed, 11 May 2011 15:18:36 +0000 (17:18 +0200)
committeryomguy <yomguy@parisson.com>
Wed, 11 May 2011 15:18:36 +0000 (17:18 +0200)
13 files changed:
telemeta/locale/de/LC_MESSAGES/django.mo
telemeta/locale/de/LC_MESSAGES/django.po
telemeta/locale/fr/LC_MESSAGES/django.mo
telemeta/locale/fr/LC_MESSAGES/django.po
telemeta/models/media.py
telemeta/templates/telemeta/mediaitem_keywords_edit.html [new file with mode: 0644]
telemeta/templates/telemeta_default/mediaitem_copy.html
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/templates/telemeta_default/mediaitem_edit.html
telemeta/templates/telemeta_default/mediaitem_keywords_edit.html [new file with mode: 0644]
telemeta/templates/telemeta_default/mediaitem_performances_edit.html
telemeta/urls.py
telemeta/web/base.py

index d72dc777c25c00fdc4b2f6b7929e769c8a46b96d..4690df7f3c96d460a106b1c835edb4f0e0022a7e 100644 (file)
Binary files a/telemeta/locale/de/LC_MESSAGES/django.mo and b/telemeta/locale/de/LC_MESSAGES/django.mo differ
index 78dcc5374c75d58a780568db0cbe80f96a2b4f39..6f172be9ad08d614d8c8735c2e7ba31a9232b2d2 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-11 16:01+0200\n"
+"POT-Creation-Date: 2011-05-11 16:57+0200\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"
@@ -172,8 +172,8 @@ msgstr ""
 msgid "reference"
 msgstr ""
 
-#: models/media.py:92 models/media.py:219 models/media.py:336
-#: models/media.py:351 models/media.py:385
+#: models/media.py:92 models/media.py:219 models/media.py:340
+#: models/media.py:355 models/media.py:389
 msgid "title"
 msgstr ""
 
@@ -345,68 +345,69 @@ msgstr ""
 msgid "file"
 msgstr ""
 
-#: models/media.py:253 models/media.py:405
+#: models/media.py:253 models/media.py:409
+#: templates/telemeta_default/mediaitem_detail.html:242
 msgid "keywords"
 msgstr ""
 
-#: models/media.py:307 models/media.py:317 models/media.py:335
-#: models/media.py:382
+#: models/media.py:307 models/media.py:321 models/media.py:339
+#: models/media.py:386
 msgid "item"
 msgstr ""
 
-#: models/media.py:319
+#: models/media.py:323
 msgid "composition"
 msgstr ""
 
-#: models/media.py:321
+#: models/media.py:325
 msgid "vernacular name"
 msgstr ""
 
-#: models/media.py:322
+#: models/media.py:326
 msgid "number"
 msgstr ""
 
-#: models/media.py:323
+#: models/media.py:327
 msgid "interprets"
 msgstr ""
 
-#: models/media.py:337
+#: models/media.py:341
 msgid "start"
 msgstr ""
 
-#: models/media.py:338
+#: models/media.py:342
 msgid "end"
 msgstr ""
 
-#: models/media.py:349 models/media.py:368 models/media.py:383
+#: models/media.py:353 models/media.py:372 models/media.py:387
 msgid "public_id"
 msgstr ""
 
-#: models/media.py:352 models/media.py:387
+#: models/media.py:356 models/media.py:391
 msgid "description"
 msgstr ""
 
-#: models/media.py:369
+#: models/media.py:373
 msgid "playlist"
 msgstr ""
 
-#: models/media.py:370
+#: models/media.py:374
 msgid "resource_type"
 msgstr ""
 
-#: models/media.py:371
+#: models/media.py:375
 msgid "resource_id"
 msgstr ""
 
-#: models/media.py:384 models/system.py:52
+#: models/media.py:388 models/system.py:52
 msgid "time"
 msgstr ""
 
-#: models/media.py:386 models/media.py:406
+#: models/media.py:390 models/media.py:410
 msgid "date"
 msgstr ""
 
-#: models/media.py:388
+#: models/media.py:392
 msgid "author"
 msgstr ""
 
@@ -506,6 +507,8 @@ msgstr ""
 
 #: templates/telemeta_default/admin_enumerations.html:12
 #: templates/telemeta_default/home.html:49
+#: templates/telemeta_default/mediaitem_copy.html:31
+#: templates/telemeta_default/mediaitem_edit.html:27
 #: templates/telemeta_default/search_criteria.html:78
 #: templates/telemeta_default/search_results.html:30
 #: templates/telemeta_default/inc/collection_list.html:13
@@ -622,6 +625,8 @@ msgstr ""
 #: templates/telemeta_default/mediaitem_copy.html:40
 #: templates/telemeta_default/mediaitem_edit.html:10
 #: templates/telemeta_default/mediaitem_edit.html:40
+#: templates/telemeta_default/mediaitem_keywords_edit.html:12
+#: templates/telemeta_default/mediaitem_keywords_edit.html:43
 #: templates/telemeta_default/mediaitem_performances_edit.html:12
 #: templates/telemeta_default/mediaitem_performances_edit.html:43
 #: templates/telemeta_default/profile_edit.html:5
@@ -636,6 +641,7 @@ msgstr ""
 #: templates/telemeta_default/mediaitem_add.html:38
 #: templates/telemeta_default/mediaitem_copy.html:42
 #: templates/telemeta_default/mediaitem_edit.html:42
+#: templates/telemeta_default/mediaitem_keywords_edit.html:45
 #: templates/telemeta_default/mediaitem_performances_edit.html:45
 #: templates/telemeta_default/profile_edit.html:31
 msgid "Save"
@@ -650,7 +656,8 @@ msgstr ""
 #: templates/telemeta_default/collection_detail.html:43
 #: templates/telemeta_default/collection_detail_new.html:43
 #: templates/telemeta_default/mediaitem_detail.html:97
-#: templates/telemeta_default/mediaitem_detail.html:278
+#: templates/telemeta_default/mediaitem_detail.html:242
+#: templates/telemeta_default/mediaitem_detail.html:282
 #: templates/telemeta_default/profile_detail.html:60
 msgid "Edit"
 msgstr ""
@@ -696,25 +703,25 @@ msgstr ""
 
 #: templates/telemeta_default/collection_detail.html:140
 #: templates/telemeta_default/collection_detail_new.html:142
-#: templates/telemeta_default/mediaitem_detail.html:294
+#: templates/telemeta_default/mediaitem_detail.html:298
 msgid "Archiving data"
 msgstr ""
 
 #: templates/telemeta_default/collection_detail.html:163
 #: templates/telemeta_default/collection_detail_new.html:165
-#: templates/telemeta_default/mediaitem_detail.html:309
+#: templates/telemeta_default/mediaitem_detail.html:313
 msgid "Technical data"
 msgstr ""
 
 #: templates/telemeta_default/collection_detail.html:168
 #: templates/telemeta_default/collection_detail_new.html:170
-#: templates/telemeta_default/mediaitem_detail.html:312
+#: templates/telemeta_default/mediaitem_detail.html:316
 msgid "Media type"
 msgstr ""
 
 #: templates/telemeta_default/collection_detail.html:168
 #: templates/telemeta_default/collection_detail_new.html:170
-#: templates/telemeta_default/mediaitem_detail.html:312
+#: templates/telemeta_default/mediaitem_detail.html:316
 msgid "Audio"
 msgstr ""
 
@@ -859,8 +866,6 @@ msgid "Type"
 msgstr ""
 
 #: templates/telemeta_default/home.html:51
-#: templates/telemeta_default/mediaitem_copy.html:31
-#: templates/telemeta_default/mediaitem_edit.html:27
 #: templates/telemeta_default/inc/collection_list.html:14
 #: templates/telemeta_default/inc/mediaitem_list.html:14
 msgid "Code"
@@ -974,11 +979,15 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: templates/telemeta_default/mediaitem_detail.html:244
+#: templates/telemeta_default/mediaitem_detail.html:248
 msgid "Musical informations"
 msgstr ""
 
-#: templates/telemeta_default/mediaitem_detail.html:283
+#: templates/telemeta_default/mediaitem_detail.html:282
+msgid "performance"
+msgstr ""
+
+#: templates/telemeta_default/mediaitem_detail.html:287
 msgid "General informations"
 msgstr ""
 
@@ -986,11 +995,19 @@ msgstr ""
 msgid "No such item"
 msgstr ""
 
+#: templates/telemeta_default/mediaitem_keywords_edit.html:23
+msgid "Keyword"
+msgstr ""
+
 #: templates/telemeta_default/mediaitem_list.html:5
 #: templates/telemeta_default/mediaitem_list.html:8
 msgid "Media Items"
 msgstr ""
 
+#: templates/telemeta_default/mediaitem_performances_edit.html:23
+msgid "Performance"
+msgstr ""
+
 #: templates/telemeta_default/profile_detail.html:5
 msgid "User Profile"
 msgstr ""
index 7cf0674d2e15e9751d5bf48e70b5ba1de89ef78b..9c921614fee0c17a2c271b5ba4153975958bd419 100644 (file)
Binary files a/telemeta/locale/fr/LC_MESSAGES/django.mo and b/telemeta/locale/fr/LC_MESSAGES/django.mo differ
index 1ec8495209b7ddb6456f2d4a49710b1f0da14bf3..bc96aa2e6af9855a23315d65e4d7828f028b0e55 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-11 16:01+0200\n"
+"POT-Creation-Date: 2011-05-11 16:57+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Olivier Guilyardi <olivier samalyse com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -70,8 +70,9 @@ msgid "generic style"
 msgstr "style générique"
 
 #: models/enum.py:127 models/media.py:308
+#, fuzzy
 msgid "keyword"
-msgstr "mot-clé"
+msgstr "Mot-clé"
 
 #: models/enum.py:134 models/media.py:106
 msgid "publisher / status"
@@ -171,8 +172,8 @@ msgstr "ancienne cote"
 msgid "reference"
 msgstr "référence"
 
-#: models/media.py:92 models/media.py:219 models/media.py:336
-#: models/media.py:351 models/media.py:385
+#: models/media.py:92 models/media.py:219 models/media.py:340
+#: models/media.py:355 models/media.py:389
 msgid "title"
 msgstr "titre"
 
@@ -344,71 +345,72 @@ msgstr "remarques"
 msgid "file"
 msgstr "fichier"
 
-#: models/media.py:253 models/media.py:405
+#: models/media.py:253 models/media.py:409
+#: templates/telemeta_default/mediaitem_detail.html:242
 msgid "keywords"
 msgstr "mots-clés"
 
-#: models/media.py:307 models/media.py:317 models/media.py:335
-#: models/media.py:382
+#: models/media.py:307 models/media.py:321 models/media.py:339
+#: models/media.py:386
 msgid "item"
 msgstr "item"
 
-#: models/media.py:319
+#: models/media.py:323
 msgid "composition"
 msgstr "formation"
 
-#: models/media.py:321
+#: models/media.py:325
 msgid "vernacular name"
 msgstr "nom vernaculaire"
 
-#: models/media.py:322
+#: models/media.py:326
 msgid "number"
 msgstr "nombre"
 
-#: models/media.py:323
+#: models/media.py:327
 msgid "interprets"
 msgstr "interprètes"
 
-#: models/media.py:337
+#: models/media.py:341
 msgid "start"
 msgstr "début"
 
-#: models/media.py:338
+#: models/media.py:342
 msgid "end"
 msgstr "fin"
 
-#: models/media.py:349 models/media.py:368 models/media.py:383
+#: models/media.py:353 models/media.py:372 models/media.py:387
 #, fuzzy
 msgid "public_id"
 msgstr "édité"
 
-#: models/media.py:352 models/media.py:387
+#: models/media.py:356 models/media.py:391
 msgid "description"
 msgstr ""
 
-#: models/media.py:369
+#: models/media.py:373
 msgid "playlist"
 msgstr "liste de lecture"
 
-#: models/media.py:370
+#: models/media.py:374
 #, fuzzy
 msgid "resource_type"
 msgstr "type de ressource"
 
-#: models/media.py:371
+#: models/media.py:375
 #, fuzzy
 msgid "resource_id"
 msgstr "ressource"
 
-#: models/media.py:384 models/system.py:52
+#: models/media.py:388 models/system.py:52
 msgid "time"
 msgstr "heure"
 
-#: models/media.py:386 models/media.py:406
+#: models/media.py:390 models/media.py:410
 msgid "date"
 msgstr ""
 
-#: models/media.py:388
+#: models/media.py:392
 #, fuzzy
 msgid "author"
 msgstr "rédacteur fiche"
@@ -510,6 +512,8 @@ msgstr "Instruments"
 
 #: templates/telemeta_default/admin_enumerations.html:12
 #: templates/telemeta_default/home.html:49
+#: templates/telemeta_default/mediaitem_copy.html:31
+#: templates/telemeta_default/mediaitem_edit.html:27
 #: templates/telemeta_default/search_criteria.html:78
 #: templates/telemeta_default/search_results.html:30
 #: templates/telemeta_default/inc/collection_list.html:13
@@ -628,6 +632,8 @@ msgstr "Mentions légales"
 #: templates/telemeta_default/mediaitem_copy.html:40
 #: templates/telemeta_default/mediaitem_edit.html:10
 #: templates/telemeta_default/mediaitem_edit.html:40
+#: templates/telemeta_default/mediaitem_keywords_edit.html:12
+#: templates/telemeta_default/mediaitem_keywords_edit.html:43
 #: templates/telemeta_default/mediaitem_performances_edit.html:12
 #: templates/telemeta_default/mediaitem_performances_edit.html:43
 #: templates/telemeta_default/profile_edit.html:5
@@ -642,6 +648,7 @@ msgstr "Annuler"
 #: templates/telemeta_default/mediaitem_add.html:38
 #: templates/telemeta_default/mediaitem_copy.html:42
 #: templates/telemeta_default/mediaitem_edit.html:42
+#: templates/telemeta_default/mediaitem_keywords_edit.html:45
 #: templates/telemeta_default/mediaitem_performances_edit.html:45
 #: templates/telemeta_default/profile_edit.html:31
 msgid "Save"
@@ -656,7 +663,8 @@ msgstr "Collection"
 #: templates/telemeta_default/collection_detail.html:43
 #: templates/telemeta_default/collection_detail_new.html:43
 #: templates/telemeta_default/mediaitem_detail.html:97
-#: templates/telemeta_default/mediaitem_detail.html:278
+#: templates/telemeta_default/mediaitem_detail.html:242
+#: templates/telemeta_default/mediaitem_detail.html:282
 #: templates/telemeta_default/profile_detail.html:60
 msgid "Edit"
 msgstr "Editer"
@@ -702,25 +710,25 @@ msgstr "Collecteur"
 
 #: templates/telemeta_default/collection_detail.html:140
 #: templates/telemeta_default/collection_detail_new.html:142
-#: templates/telemeta_default/mediaitem_detail.html:294
+#: templates/telemeta_default/mediaitem_detail.html:298
 msgid "Archiving data"
 msgstr "Données d'archivage"
 
 #: templates/telemeta_default/collection_detail.html:163
 #: templates/telemeta_default/collection_detail_new.html:165
-#: templates/telemeta_default/mediaitem_detail.html:309
+#: templates/telemeta_default/mediaitem_detail.html:313
 msgid "Technical data"
 msgstr "Données techniques"
 
 #: templates/telemeta_default/collection_detail.html:168
 #: templates/telemeta_default/collection_detail_new.html:170
-#: templates/telemeta_default/mediaitem_detail.html:312
+#: templates/telemeta_default/mediaitem_detail.html:316
 msgid "Media type"
 msgstr "Type de media"
 
 #: templates/telemeta_default/collection_detail.html:168
 #: templates/telemeta_default/collection_detail_new.html:170
-#: templates/telemeta_default/mediaitem_detail.html:312
+#: templates/telemeta_default/mediaitem_detail.html:316
 msgid "Audio"
 msgstr "Audio"
 
@@ -865,8 +873,6 @@ msgid "Type"
 msgstr ""
 
 #: templates/telemeta_default/home.html:51
-#: templates/telemeta_default/mediaitem_copy.html:31
-#: templates/telemeta_default/mediaitem_edit.html:27
 #: templates/telemeta_default/inc/collection_list.html:14
 #: templates/telemeta_default/inc/mediaitem_list.html:14
 msgid "Code"
@@ -981,11 +987,15 @@ msgstr "Date d'enregistrement"
 msgid "Location"
 msgstr "Lieu"
 
-#: templates/telemeta_default/mediaitem_detail.html:244
+#: templates/telemeta_default/mediaitem_detail.html:248
 msgid "Musical informations"
 msgstr "Informations sur la musique"
 
-#: templates/telemeta_default/mediaitem_detail.html:283
+#: templates/telemeta_default/mediaitem_detail.html:282
+msgid "performance"
+msgstr "composition"
+
+#: templates/telemeta_default/mediaitem_detail.html:287
 msgid "General informations"
 msgstr "Informations générales"
 
@@ -993,11 +1003,19 @@ msgstr "Informations générales"
 msgid "No such item"
 msgstr "Item introuvable"
 
+#: templates/telemeta_default/mediaitem_keywords_edit.html:23
+msgid "Keyword"
+msgstr "Mot-clé"
+
 #: templates/telemeta_default/mediaitem_list.html:5
 #: templates/telemeta_default/mediaitem_list.html:8
 msgid "Media Items"
 msgstr "Items"
 
+#: templates/telemeta_default/mediaitem_performances_edit.html:23
+msgid "Performance"
+msgstr ""
+
 #: templates/telemeta_default/profile_detail.html:5
 msgid "User Profile"
 msgstr "Profil utilisateur"
@@ -1289,6 +1307,9 @@ msgstr ""
 "Connectez-vous s'il vous plaît ou bien contactez l'administrateur du site "
 "pour obtenir un accès privé."
 
+#~ msgid "Keywords"
+#~ msgstr "Mots-clés"
+
 #~ msgid "resource type"
 #~ msgstr "type de ressource"
 
index 9c2e85ba6f4c9d060b22fbbd58874c8791e93df7..537bdd971c7a7234eb3d538fe4d8f3ccadbc7586 100644 (file)
@@ -311,6 +311,10 @@ class MediaItemKeyword(ModelCore):
         db_table = 'media_item_keywords'
         unique_together = (('item', 'keyword'),)
 
+class MediaItemKeywordForm(ModelForm):
+    class Meta:
+        model = MediaItemKeyword
+
 class MediaItemPerformance(ModelCore):
     "Item performance"
     media_item      = ForeignKey('MediaItem', related_name="performances", 
diff --git a/telemeta/templates/telemeta/mediaitem_keywords_edit.html b/telemeta/templates/telemeta/mediaitem_keywords_edit.html
new file mode 100644 (file)
index 0000000..4287ae8
--- /dev/null
@@ -0,0 +1 @@
+{% extends "telemeta_default/mediaitem_keywords_edit.html" %}
index 23767a05fdd1c0a0d6e7b5dde536274406f8c27a..549792606854adf59359277d26a70f623c801b71 100644 (file)
@@ -28,7 +28,7 @@
             <tr><td class="error">{{ field.errors }}</td></tr>
             <td>{{ field.label_tag }}:</td>
              {% if field.html_name == "collection" %}
-              <td>{{ field }} <br />&nbsp;{% trans "Code" %} : {{ item.collection.code }}</td>
+              <td>{{ field }} <br />&nbsp;{% trans "Title" %} : {{ item.collection.title }}</td>
              {% else %}
               <td>{{ field }}</td>
              {% endif %}
index 408cf1b31fbcad5eccca2282e53054c133255e1c..d226bb075603e3f94fec25cd0cb4681c4e494946 100644 (file)
         </div>
         {% endblock geoethnic_data %}
     </div>
+    {% if user.is_authenticated and perms.telemeta.change_mediaitem %}
+       <a href="{% url telemeta-item-keywords_edit item.public_id %}" class="component_icon button icon_edit">{% trans "Edit" %} {% trans "keywords" %}</a>
+    {% endif %}
     <div class="extraInfos">
         {% block musical_data %}
         <div>
         {% endblock musical_data %}
     </div>
     {% if user.is_authenticated and perms.telemeta.change_mediaitem %}
-    <a href="{% url telemeta-item-performances_edit item.public_id %}" class="component_icon button icon_edit">{% trans "Edit" %}</a>
+     <a href="{% url telemeta-item-performances_edit item.public_id %}" class="component_icon button icon_edit">{% trans "Edit"%} {% trans "performance"%}</a>
     {% endif %}
     <div class="extraInfos">
         {% block general_data %}
index 6a0fef675605e30557950ca40339824863b5c65f..6a71ce6cf74a4b337db67671ec2fed0eec3cb8ec 100644 (file)
@@ -24,7 +24,7 @@
               <td> {{ item.file.name }} <br /> {{ field }}</td>
              {% else %}
              {% if field.html_name == "collection" %}
-              <td>{{ field }} <br />&nbsp;{% trans "Code" %} : {{ item.collection.code }}</td>
+              <td>{{ field }} <br />&nbsp;{% trans "Title" %} : {{ item.collection.title }}</td>
              {% else %}
               <td>{{ field }}</td>
              {% endif %}
diff --git a/telemeta/templates/telemeta_default/mediaitem_keywords_edit.html b/telemeta/templates/telemeta_default/mediaitem_keywords_edit.html
new file mode 100644 (file)
index 0000000..3eab399
--- /dev/null
@@ -0,0 +1,52 @@
+{% extends "telemeta/mediaitem_detail.html" %}
+{% load i18n %}
+{% load telemeta_utils %}
+
+{% block extra_javascript %}
+{% endblock %}
+
+  {% block title %}
+    <img src="images/item.png" style="vertical-align:middle" /> <h1>Item : {{ item }}</h1>
+  {% endblock %}
+  {% block title_buttons %}
+   <a href="{% url telemeta-item-detail item.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+  {% endblock %}
+
+{% block content %}
+  {% block infos %}    
+    <div class="infos">
+     <form method="post" id="_editForm" action="">{% csrf_token %}
+
+    {{ formset.management_form }}
+    {% for form in formset.forms %}
+      <table>
+        <tr><td><b>{% trans "Keyword" %} :</b><td></td></tr>
+        {% for field in form %}
+        <tr>
+        {% if not "media_item" in field.html_name %}
+            {% if "id" in field.html_name %}
+                <td>{{ field.label_tag.as_hidden }}</td><td>{{ field.as_hidden }}</td>
+            {% else %}
+                <td>{{ field.label_tag }}: </td><td>{{ field }}</td>
+            {% endif %}
+        {% else %}
+            <td>{{ field.label_tag.as_hidden }}</td><td>{{ field.as_hidden }}</td>
+        {% endif %}
+        </tr>
+        {% endfor %}
+       </table>
+       <br />
+    {% endfor %}
+      
+      <div align="center">
+        <a href="{% url telemeta-item-detail item.public_id %}"
+           class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+        <a href="#" class="component_icon button icon_save"
+   onclick="document.getElementById('_editForm').submit(); return false;">{% trans "Save" %}</a>
+       </div>
+    
+     </form>
+    </div>
+       
+  {% endblock infos %}
+{% endblock content %}
index b21b2fc6c6fe2883e616b33e501044931be1017c..c44c71618b99c4e5706e9479e6627da5a28901da 100644 (file)
@@ -20,7 +20,7 @@
     {{ formset.management_form }}
     {% for form in formset.forms %}
       <table>
-        <tr><td><b>Performance :</b><td></td></tr>
+        <tr><td><b>{% trans "Performance" %} :</b><td></td></tr>
         {% for field in form %}
         <tr>
         {% if not "media_item" in field.html_name %}
index 8cd990da64ab6e01e06be8c99aa38703ec0e6b04..ad2cd622025d3aa1b48a1b032dcd27ea57f93ef0 100644 (file)
@@ -99,7 +99,9 @@ urlpatterns = patterns('',
         dict(template='telemeta/mediaitem_player.html'), name="telemeta-item-player"),
     url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/performances/$', web_view.item_performances_edit,
         dict(template='telemeta/mediaitem_performances_edit.html'), name="telemeta-item-performances_edit"),
-
+    url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/keywords/$', web_view.item_keywords_edit,
+        dict(template='telemeta/mediaitem_keywords_edit.html'), name="telemeta-item-keywords_edit"),
+        
     # Markers
     url(r'^markers/(?P<marker_id>[A-Za-z0-9]+)/$', web_view.item_detail, name="telemeta-item-detail-marker"),
         
index 434c4be8400d3dff568c64446d853dfdd918b4ae..1979c9bc585cef9bad1049573f21c3690d9dd9a2 100644 (file)
@@ -1150,3 +1150,16 @@ class WebView(object):
             formset = PerformanceFormSet(instance=item)
         return render(request, template, {'item': item, 'formset': formset,})
     
+    @method_decorator(permission_required('telemeta.change_mediaitem'))
+    def item_keywords_edit(self, request, public_id, template):
+        item = MediaItem.objects.get(public_id=public_id)
+        FormSet = inlineformset_factory(MediaItem, MediaItemKeyword)
+        if request.method == 'POST':
+            formset = FormSet(data=request.POST, instance=item)
+            if formset.is_valid():
+                formset.save()
+                return HttpResponseRedirect('/items/'+public_id)
+        else:
+            formset = FormSet(instance=item)
+        return render(request, template, {'item': item, 'formset': formset,})
+