]> git.parisson.com Git - telemeta.git/commitdiff
add collection edit templates, fix marker foreign key
authoryomguy <yomguy@parisson.com>
Mon, 7 Feb 2011 17:27:59 +0000 (18:27 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 7 Feb 2011 17:27:59 +0000 (18:27 +0100)
telemeta/models/media.py
telemeta/templates/telemeta/collection_detail_edit.html [new file with mode: 0644]
telemeta/templates/telemeta_default/collection_detail_edit.html [new file with mode: 0644]
telemeta/web/base.py

index 5019b94075542adfb6d585770724a215d22bbb91..ea360e641d451d9b9fc5a9aae4e9e106e2feab71 100644 (file)
@@ -364,7 +364,7 @@ class MediaItemMarker(ModelCore):
     "2D marker object : text value vs. time"
     
     element_type = 'marker'
-    item_id  = CharField(_('item_id'), required=True)
+    item  = ForeignKey('MediaItem', related_name="markers", verbose_name=_('item'))
     public_id = CharField(_('public_id'), required=True)
     time = FloatField(_('time'), required=True)
     description = TextField(_('description'))
diff --git a/telemeta/templates/telemeta/collection_detail_edit.html b/telemeta/templates/telemeta/collection_detail_edit.html
new file mode 100644 (file)
index 0000000..cf00e17
--- /dev/null
@@ -0,0 +1 @@
+{% extends "telemeta_default/collection_detail_edit.html" %}
diff --git a/telemeta/templates/telemeta_default/collection_detail_edit.html b/telemeta/templates/telemeta_default/collection_detail_edit.html
new file mode 100644 (file)
index 0000000..73c8022
--- /dev/null
@@ -0,0 +1,27 @@
+{% extends "telemeta/base.html" %}\r
+{% load telemeta_utils %}\r
+{% load i18n %}\r
+\r
+{% block head_title %}{% trans "Collection" %}{{collection|prepend:': '}} - {{ block.super }}{% endblock %}\r
+\r
+\r
+{% if collection %}\r
+\r
+{% block submenu %}\r
+    <div><a href="{% url telemeta-collection-dublincore collection.public_id %}">Dublin Core</a></div>\r
+{% endblock %}\r
+\r
+{% block content %}\r
+    <h3>Collection: {{ collection }}</h3>\r
+        <div class="infos">\r
+        \r
+        <form method="POST" action="">{% csrf_token %}\r
+        {{ formset }}\r
+        <button type="submit">SAVE</button>\r
+\r
+        </div>\r
+{% endblock %}\r
+{% else %}\r
+    <p>No such collection</p>\r
+{% endif %}\r
+\r
index 2ae4af7dd04170ed79b82501f46ba3d0a6a6ea9d..b29a4acf87bad5d30d5094d4d8f5f762b9982e34 100644 (file)
@@ -577,9 +577,10 @@ class WebView(object):
     @jsonrpc_method('telemeta.add_marker')
     def add_marker(request, marker):
         # marker must be a dict
-        print marker
         if isinstance(marker, dict):
-            m = MediaItemMarker(item_id=marker['item_id']) 
+            item_id = marker['item_id']
+            item = MediaItem.objects.get(code=item_id)
+            m = MediaItemMarker(item=item) 
             m.public_id = marker['public_id']
             m.time = float(marker['time'])
             m.description = marker['description']
@@ -589,7 +590,7 @@ class WebView(object):
             m.author = author
             m.save()
         else:
-            return 'Error : Bad marker dictionnary'
+            raise 'Error : Bad marker dictionnary'
 
     @jsonrpc_method('telemeta.del_marker')
     def del_marker(request, public_id):
@@ -598,7 +599,8 @@ class WebView(object):
         
     @jsonrpc_method('telemeta.get_markers')
     def get_markers(request, item_id):
-        markers = MediaItemMarker.objects.filter(item_id=item_id)
+        item = MediaItem.objects.get(public_id=item_id)
+        markers = MediaItemMarker.objects.filter(item=item.pk)
         list = []
         for marker in markers:
             dict = {}