From: yomguy Date: Tue, 15 Mar 2011 11:30:03 +0000 (+0100) Subject: add marker direct url, fix home X-Git-Tag: 1.1~385 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=67a5d64463f1656babc0d1270b4d81ab73ac5bf2;p=telemeta.git add marker direct url, fix home --- diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 15ae8000..4737d336 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -357,6 +357,10 @@ class Playlist(ModelCore): def __unicode__(self): return self.name +class PlaylistForm(ModelForm): + class Meta: + model = Playlist + class PlaylistResource(ModelCore): "Playlist components" RESOURCE_TYPE_CHOICES = (('item', 'item'), ('collection', 'collection')) diff --git a/telemeta/templates/telemeta_default/home.html b/telemeta/templates/telemeta_default/home.html index e9d29efd..ed51f2af 100644 --- a/telemeta/templates/telemeta_default/home.html +++ b/telemeta/templates/telemeta_default/home.html @@ -18,6 +18,7 @@ {% trans "Recordist" %} {% trans "Year of recording" %} {% trans "Sound" %} + {% trans "Action" %} {% for resource in playlist.resources %} @@ -47,6 +48,7 @@ yes {% endif %} + {% trans "Delete" %} {% endfor %} diff --git a/telemeta/urls.py b/telemeta/urls.py index e9bac7b3..792dd9e7 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -64,6 +64,8 @@ urlpatterns = patterns('', name="telemeta-items"), url(r'^items/(?P[A-Za-z0-9._-]+)/$', web_view.item_detail, name="telemeta-item-detail"), + url(r'^items/(?P[A-Za-z0-9._-]+)/marker/(?P)$', web_view.item_detail, + name="telemeta-item-detail"), url(r'^items/(?P[A-Za-z0-9._-]+)/dc/$', web_view.item_detail, {'template': 'telemeta/mediaitem_detail_dc.html'}, name="telemeta-item-dublincore"), diff --git a/telemeta/web/base.py b/telemeta/web/base.py index 08992cd3..c8d64510 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -55,8 +55,7 @@ from django.core.context_processors import csrf from django.forms.models import modelformset_factory from django.contrib.auth.models import User -from telemeta.models import MediaItem, Location, MediaCollection, EthnicGroup, MediaCollectionForm, MediaItemForm, Playlist, PlaylistResource, Search, Revision -from telemeta.models import dublincore, Enumeration, MediaItemMarker, Instrument +from telemeta.models import * import telemeta.models import telemeta.interop.oai as oai from telemeta.interop.oaidatasource import TelemetaOAIDataSource @@ -132,9 +131,20 @@ class WebView(object): revisions = [] for revision in last_revisions: if revision.element_type == 'item': - element = MediaItem.objects.get(pk=revision.element_id) + try: + element = MediaItem.objects.get(pk=revision.element_id) + except: + element = None if revision.element_type == 'collection': - element = MediaCollection.objects.get(pk=revision.element_id) + try: + element = MediaCollection.objects.get(pk=revision.element_id) + except: + element = None + if revision.element_type == 'marker': + try: + element = MediaItemMarker.objects.get(pk=revision.element_id) + except: + element = None revisions.append({'revision': revision, 'element': element}) searches = Search.objects.filter(username=request.user) @@ -215,7 +225,7 @@ class WebView(object): next = item.public_id return previous, next - def item_detail(self, request, public_id, template='telemeta/mediaitem_detail.html'): + def item_detail(self, request, public_id, marker_id=None, template='telemeta/mediaitem_detail.html'): """Show the details of a given item""" item = MediaItem.objects.get(public_id=public_id) @@ -239,7 +249,7 @@ class WebView(object): {'item': item, 'export_formats': formats, 'visualizers': graphers, 'visualizer_id': grapher_id,'analysers': analyzers, 'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True), - 'previous' : previous, 'next' : next, + 'previous' : previous, 'next' : next, 'marker': marker_id, }) @method_decorator(permission_required('telemeta.change_mediaitem')) @@ -772,4 +782,4 @@ class WebView(object): m.set_revision(request.user) else: raise 'Error : Bad marker dictionnary' - +