]> git.parisson.com Git - telemeta.git/commitdiff
add marker direct url, fix home
authoryomguy <yomguy@parisson.com>
Tue, 15 Mar 2011 11:30:03 +0000 (12:30 +0100)
committeryomguy <yomguy@parisson.com>
Tue, 15 Mar 2011 11:30:03 +0000 (12:30 +0100)
telemeta/models/media.py
telemeta/templates/telemeta_default/home.html
telemeta/urls.py
telemeta/web/base.py

index 15ae80000e01cbf4c6e0550498901b598e8d435a..4737d336ab963d505bb9fb149dbdc11188d5f9c7 100644 (file)
@@ -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'))
index e9d29efd0fa5f557e974ccfc4c895b6c08b822ca..ed51f2afb889d0b2bd6f1e1c7903d2b694a11029 100644 (file)
@@ -18,6 +18,7 @@
             <th>{% trans "Recordist" %}</th>
             <th>{% trans "Year of recording" %}</th>
             <th>{% trans "Sound" %}</th>
+            <th>{% trans "Action" %}</th>
         </tr>
         
         {% for resource in playlist.resources %}
@@ -47,6 +48,7 @@
                 <img src="images/text-speak.png" alt="yes" style="vertical-align:middle" /></a>
                 {% endif %}
             </td>
+            <td>{% trans "Delete" %}</td>
         </tr>
     {% endfor %}
     </table>
index e9bac7b3e380034f6ee2a69d4079fe5ad39d7a34..792dd9e70dd876383bbbc982aa889524e9c78ca9 100644 (file)
@@ -64,6 +64,8 @@ urlpatterns = patterns('',
         name="telemeta-items"),
     url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/$', web_view.item_detail, 
         name="telemeta-item-detail"),
+    url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/marker/(?P<marker_id>)$', web_view.item_detail, 
+        name="telemeta-item-detail"),
     url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', web_view.item_detail, 
         {'template': 'telemeta/mediaitem_detail_dc.html'},
         name="telemeta-item-dublincore"),
index 08992cd360830675b2bff8669098519ee047dc14..c8d6451036ae946c5091ba49601ad3321379ef46 100644 (file)
@@ -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'
-