]> git.parisson.com Git - telemeta.git/commitdiff
begin to implement previous/next
authoryomguy <yomguy@parisson.com>
Mon, 14 Feb 2011 16:59:31 +0000 (17:59 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 14 Feb 2011 16:59:31 +0000 (17:59 +0100)
telemeta/templates/telemeta_default/collection_detail.html
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/urls.py
telemeta/web/base.py

index daad1e77d5e4b3fccfbee2d198c8abab60ee05d0..5c8e07dabd6cbd27b3dbfb34f256de733e00e5f8 100644 (file)
 \r
 {% block submenu %}\r
     <div>\r
-    <a href="{% url telemeta-collection-detail-edit collection.public_id %}"><button>EDIT</button></a>\r
     <a href="{% url telemeta-collection-dublincore collection.public_id %}">Dublin Core</a>\r
+    \r
+    {% if user.is_authenticated %} \r
+    <a href="{% url telemeta-collection-detail-edit collection.public_id %}"><img src="/images/edit_page.png" alt="EDIT"></a>\r
+    {% endif %}\r
+    <a href="{% url telemeta-collection-detail-previous collection.public_id %}"><img src="/images/previous.png" alt="PREVIOUS"></a>\r
+    <a href="{% url telemeta-collection-detail-next collection.public_id %}"><img src="/images/next.png" alt="NEXT"></a>\r
+    \r
     </div>\r
 {% endblock %}\r
 \r
index aad134968dced7747ce5c0b63a03411cf392825c..10103308b72947fb59095f8d608ac2d9843103fc 100644 (file)
 {% if item %}\r
 {% block submenu %}\r
 <div>\r
+    <a href="{% url telemeta-item-dublincore item.public_id %}">Dublin Core</a>\r
     {% if user.is_authenticated %} \r
-    <a href="{% url telemeta-item-detail-edit item.public_id %}"><button>EDIT</button></a>\r
+    <a href="{% url telemeta-item-detail-edit item.public_id %}"><img src="/images/edit_page.png" alt="EDIT"></a>\r
     {% endif %}\r
-    <a href="{% url telemeta-item-dublincore item.public_id %}">Dublin Core</a>\r
+    <a href="{% url telemeta-item-detail-previous item.public_id %}"><img src="/images/previous.png" alt="PREVIOUS"></a>\r
+    <a href="{% url telemeta-item-detail-next item.public_id %}"><img src="/images/next.png" alt="NEXT"></a>\r
 </div>\r
 {% endblock %}\r
 \r
index 0d9fb499d3b15f94a643b2a58e15734645c858f7..9115aead1061439f796262e016d418a75f0e7245 100644 (file)
@@ -87,6 +87,12 @@ urlpatterns = patterns('',
     url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', 
         web_view.item_detail_edit,
         name="telemeta-item-detail-edit"),
+    url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/previous/$', 
+        web_view.item_detail_previous,
+        name="telemeta-item-detail-previous"),
+    url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/next/$', 
+        web_view.item_detail_next,
+        name="telemeta-item-detail-next"),
 
     # collections
     url(r'^collections/$', 'django.views.generic.list_detail.object_list',
@@ -110,7 +116,13 @@ urlpatterns = patterns('',
         name="telemeta-collection-m3u"),
     url(r'^collections/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', web_view.collection_detail_edit,
         dict(template='telemeta/collection_detail_edit.html'), name="telemeta-collection-detail-edit"),
-
+    url(r'^collections/(?P<public_id>[A-Za-z0-9._-]+)/previous/$', 
+        web_view.collection_detail_previous,
+        name="telemeta-collection-detail-previous"),
+    url(r'^collections/(?P<public_id>[A-Za-z0-9._-]+)/next/$', 
+        web_view.collection_detail_next,
+        name="telemeta-collection-detail-next"),
+    
     # search
     url(r'^search/$', web_view.search, name="telemeta-search"),
     url(r'^search/collections/$', web_view.search, {'type': 'collections'}, 
index bf42b7bcf831174fbc3207ee4b2641a1cc3ad54a..ee919e40c9aed7ec9cc28f6a308001f9f911e3b9 100644 (file)
@@ -126,6 +126,22 @@ class WebView(object):
             formset = MediaCollectionFormSet(queryset=MediaCollection.objects.filter(code=public_id))
         return render(request, template, {'collection': collection, "formset": formset,})
 
+    def collection_detail_previous(self, request, public_id):
+        collection = MediaCollection.objects.get(public_id=public_id)
+        while True:
+            previous = MediaCollection.objects.get(pk=collection.pk-1)
+            if previous:
+                break
+        return self.collection_detail(request, previous.public_id)
+    
+    def collection_detail_next(self, request, public_id):
+        collection = MediaCollection.objects.get(public_id=public_id)
+        while True:
+            next = MediaCollection.objects.get(pk=collection.pk+1)
+            if next:
+                break
+        return self.collection_detail(request, next.public_id)
+    
     def item_detail(self, request, public_id, template='telemeta/mediaitem_detail.html'):
         """Show the details of a given item"""
         item = MediaItem.objects.get(public_id=public_id)
@@ -180,6 +196,22 @@ class WebView(object):
                     'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True), "formset": formset, 
                     })
         
+    def item_detail_previous(self, request, public_id):
+        item = MediaItem.objects.get(public_id=public_id)
+        while True:
+            previous = MediaItem.objects.get(pk=item.pk-1)
+            if previous:
+                break
+        return self.item_detail(request, previous.public_id)
+    
+    def item_detail_next(self, request, public_id):
+        item = MediaItem.objects.get(public_id=public_id)
+        while True:
+            next = MediaItem.objects.get(pk=item.pk+1)
+            if next:
+                break
+        return self.item_detail(request, next.public_id)
+    
     def item_analyze(self, item):
         public_id = str(item.public_id)
         analyze_file = public_id + '.xml'