"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'))
--- /dev/null
+{% 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
@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']
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):
@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 = {}