From 857c86ea74ef544a7a43a7b4634e3ff8e543338d Mon Sep 17 00:00:00 2001 From: yomguy Date: Mon, 7 Feb 2011 18:27:59 +0100 Subject: [PATCH] add collection edit templates, fix marker foreign key --- telemeta/models/media.py | 2 +- .../telemeta/collection_detail_edit.html | 1 + .../collection_detail_edit.html | 27 +++++++++++++++++++ telemeta/web/base.py | 10 ++++--- 4 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 telemeta/templates/telemeta/collection_detail_edit.html create mode 100644 telemeta/templates/telemeta_default/collection_detail_edit.html diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 5019b940..ea360e64 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -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 index 00000000..cf00e17a --- /dev/null +++ b/telemeta/templates/telemeta/collection_detail_edit.html @@ -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 index 00000000..73c80221 --- /dev/null +++ b/telemeta/templates/telemeta_default/collection_detail_edit.html @@ -0,0 +1,27 @@ +{% extends "telemeta/base.html" %} +{% load telemeta_utils %} +{% load i18n %} + +{% block head_title %}{% trans "Collection" %}{{collection|prepend:': '}} - {{ block.super }}{% endblock %} + + +{% if collection %} + +{% block submenu %} +
Dublin Core
+{% endblock %} + +{% block content %} +

Collection: {{ collection }}

+
+ +
{% csrf_token %} + {{ formset }} + + +
+{% endblock %} +{% else %} +

No such collection

+{% endif %} + diff --git a/telemeta/web/base.py b/telemeta/web/base.py index 2ae4af7d..b29a4acf 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -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 = {} -- 2.39.5