]> git.parisson.com Git - telemeta.git/commitdiff
use named urls, add paging to collection, and others
authorolivier <>
Thu, 10 May 2007 16:42:12 +0000 (16:42 +0000)
committerolivier <>
Thu, 10 May 2007 16:42:12 +0000 (16:42 +0000)
13 files changed:
telemeta/templates/admin.html
telemeta/templates/base.html
telemeta/templates/collection_detail.html
telemeta/templates/collection_list.html
telemeta/templates/dictionary_edit.html
telemeta/templates/dictionary_edit_value.html
telemeta/templates/dictionary_list.html [deleted file]
telemeta/templates/media_item.html [deleted file]
telemeta/templates/mediaitem_detail.html
telemeta/templates/mediaitem_list.html
telemeta/templates/search_results.html
telemeta/urls.py
telemeta/views/web.py

index e335b3cf6cfbaaff0f7edfaadd4fe4ed40ea4dc7..8de5c33a38696a237ed72c3bf74742999a07c176 100644 (file)
@@ -17,7 +17,7 @@
         {%ifequal d.id dictionary_id %}
             <li class="active">{{ d.name|capfirst }}</li>
         {%else%}
-            <li><a href="/admin/dictionaries/{{ d.id }}">{{ d.name|capfirst }}</a></li>
+            <li><a href="{% url telemeta-dictionary-edit d.id %}">{{ d.name|capfirst }}</a></li>
         {%endifequal%}
     {% endfor %}
     </ul>
index 9fb41880d24572b22ecad6e6261bf3d01bbb7a18..7c53b07b79028c60066849ff420019008187e81c 100644 (file)
 </div>
 
 <div id="quick_search">
-<form action="/search" method="GET">
+<form action="{% url telemeta-quicksearch %}" method="GET">
 <input id="quick_search_pattern" name="pattern" />
 <input type="submit" value="Search" />
 </form>        
 </div>
 
 <div id="menu">
-<a href="/collections">Collections</a> |
-<a href="/items">Items</a> |
-<a href="/admin">Admin</a>
+<a href="{% url telemeta-collections %}">Collections</a> |
+<a href="{% url telemeta-items %}">Items</a> |
+<a href="{% url telemeta-admin %}">Admin</a>
 </div>
 
 <div id="content">
index 31cbb4e4f387f762d35e5494650a37ecdfcec379..686a7f767fa7254694140c1720b7a717267650e4 100644 (file)
@@ -5,21 +5,19 @@
     <h3>Collection: {{ object.title }}</h3>
     <ul>
     {% for field in object.list %}
-        {% ifnotequal field.name "id" %}
         {% ifnotequal field.name "title" %}
 
         <li><b>{{ field.name }}</b> : {{ field.value }}</li>
 
         {% endifnotequal %}
-        {% endifnotequal %}
     {% endfor %}
     </ul>
     <hr>
     <h4>Items</h4>
     <ul>
     {% for item in object.items.all %}
-        <li><b>{{ item.creator }}</b> - {{ items.title }}
-            <a href="/items/{{ item.id }}">View</a>
+        <li><b>{{ item.creator }}</b> - {{ item.title }}
+            <a href="{% url telemeta-item-detail item.id %}">View</a>
             <a href="#">Edit</a>
             </li>
     {% endfor %}
index d70c35b248133da5e675a8fcf5783b8488f9fa10..e02ad1dc8450f396218ccefa014f0a5a995fbacb 100644 (file)
@@ -1,13 +1,16 @@
 {% extends "base.html" %}
-
+{% load telemeta_utils %}
 {% block content %}
 <h3>Collections</h3>
 {% if object_list %}
+    <p>Records {{ first_on_page }} to {{ last_on_page }} on {{ hits }} 
+    &nbsp;&nbsp;
+    {% if has_previous %} <a href="?page={{ previous }}">&lt;&lt;</a> {% endif %}
+    {% if has_next %} <a href="?page={{ next }}">&gt;&gt;</a> {% endif %}
+    </p>
     <ul>
     {% for p in object_list %}
-        <li><b>{{ p.title }}</b>
-            <a href="{{ p.id }}">View</a>
-            <a href="#">Edit</a>
+        <li><a href="{% url telemeta-collection-detail p.id|urlencode %}">{{ p.title }}</a>
             </li>
     {% endfor %}
     </ul>
index e5a7b3a41429c98e550a95c6f8386366e2f221de..93072dc060da0669e6aaae6bf5b2c73321764e8d 100644 (file)
@@ -6,7 +6,7 @@
 
 
  <form class="addnew" id="addenum" method="post"
-        action="/admin/dictionaries/{{dictionary_id}}/add/">
+        action="{% url telemeta-dictionary-add dictionary_id %}">
   <fieldset>
    <legend>Add {{ dictionary_name|capfirst }}</legend>
    <div class="field">
@@ -19,7 +19,7 @@
   </fieldset>
  </form>
  {% if dictionary_values %}
- <form method="POST" action="/admin/dictionaries/{{dictionary_id}}/update/">
+ <form method="POST" action="{% url telemeta-dictionary-update dictionary_id %}">
   <table class="listing">
    <thead>
     <tr><th class="sel">&nbsp;</th><th>Value</th>
@@ -29,7 +29,7 @@
     {% for record in dictionary_values %}
     <tr>
      <td><input type="checkbox" name="sel" value="{{record.id}}" /></td>
-     <td><a href="/admin/dictionaries/{{dictionary_id}}/{{record.id}}">
+     <td><a href="{% url telemeta-dictionary-record-edit dictionary_id,record.id %}">
         {{record.value}}</a></td>
     </tr>
     {% endfor %}
index 0f205c6978e2b76c2334428e78db35b20c5bed27..3c6b749e6389b547a82906be91740432d219939c 100644 (file)
@@ -4,7 +4,7 @@
     <h4>Manage {{ dictionary_name_plural|capfirst }}</h4>
 
  <form class="mod" id="addenum" method="post"
-        action="/admin/dictionaries/{{dictionary_id}}/{{dictionary_record.id}}/update/">
+        action="{% url telemeta-dictionary-record-update dictionary_id,dictionary_record.id %}">
   <fieldset>
    <legend>Modify {{ dictionary_name|capfirst }}</legend>
    <div class="field">
diff --git a/telemeta/templates/dictionary_list.html b/telemeta/templates/dictionary_list.html
deleted file mode 100644 (file)
index bc780f8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-<h3>Dictionaries</h3>
-{% if dictionaries %}
-    <ul>
-    {% for d in dictionaries %}
-        <li><a href="/dictionaries/{{ d.id }}">{{ d.name|capfirst }}</a> </li>
-    {% endfor %}
-    </ul>
-{% else %}
-    <p>No dictionary.</p>
-{% endif %}
-{% endblock %}
diff --git a/telemeta/templates/media_item.html b/telemeta/templates/media_item.html
deleted file mode 100644 (file)
index 7378735..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-<h3>Media Item</h3>
-
-<form action="/telemeta/media_item/{{ media_item.id }}/update/" method="post">
-<label>Author : </label><input name="author" value="{{ media_item.author }}"><br/>
-<label>Title : </label><input name="title" value="{{ media_item.title }}"><br/>
-{% if dynprops %}
-    {% for prop in dynprops %}
-        <label>{{ prop.name }} : </label>
-            {% ifequal prop.type "text" %}
-                <input name="dynprop_{{ prop.id }}"  value="{{ prop.value }}"><br/>
-            {% else %}
-                <select name="dynprop_{{ prop.id }}">
-                    <option value="0"></option>
-                    {% for item in prop.enumeration %}
-                        <option value="{{ item.id }}" 
-                            {% ifequal prop.value.id item.id %} selected {% endifequal %} >
-                                {{ item.name }}</option>
-                    {% endfor %}
-                </select>
-            {% endifequal %}
-    {% endfor %}
-{% endif %}
-<p>
-<input type="submit">
-</form>
-{% endblock %}
index fb6ca3cd7eb4f2d8f1080cef36e08f65d6abcedb..d013ba4a8a9069bb55103e11592e417346012ba3 100644 (file)
@@ -3,7 +3,7 @@
 {% block content %}
 {% if item %}
     <div class="item_visualization">
-      <img src="visualize/{{visualizer_id}}">
+      <img src="{% url telemeta-item-visualize item.id|urlencode,visualizer_id %}">
       <form method="GET">
         <select name="visualizer_id" onchange="this.form.submit()">
           {% for v in visualizers %}
@@ -23,7 +23,8 @@
 
         <li><b>{{ field.name }}</b> : 
             {% ifequal field.name "collection" %}
-            <a href="/collections/{{ field.value.id }}">{{ field.value }}</a>
+            <a href="{% url telemeta-collection-detail field.value.id %}">
+                {{ field.value }}</a>
             {% else %}
             {{ field.value }}
             {% endifequal %}
@@ -36,7 +37,7 @@
     </ul>
     Download:
     {% for format in export_formats %}
-        <a href="/items/{{ item.id }}/download/{{ format }}">{{ format }}</a>
+        <a href="{% url telemeta-item-export item.id|urlencode,format %}">{{ format }}</a>
     {% endfor %}
 {% else %}
     <p>No such item</p>
index bcdec1b1d8d26ba026cf81c5a0e763668b5cd8d8..2f8b72ce7ce533fa55155bcf63fad7870859151b 100644 (file)
@@ -6,7 +6,7 @@
     <ul>
     {% for p in object_list %}
         <li><b>{{ p.creator }}</b> - {{ p.title }}
-            <a href="{{ p.id }}">View</a>
+            <a href="{% url telemeta-item-detail p.id %}">View</a>
             <a href="#">Edit</a>
             </li>
     {% endfor %}
index 5bf9c11333a72c4906ad0036491f76c1469b44d5..b869b6b9af7cacf4189606e68a7c3d979676cf97 100644 (file)
@@ -7,7 +7,7 @@
     <ul>
     {% for c in collections %}
         <li><b>{{ c.title }}</b>
-            <a href="/collections/{{ c.id }}">View</a>
+            <a href="{% url telemeta-collection-detail c.id %}">View</a>
             <a href="#">Edit</a>
             </li>
     {% endfor %}
@@ -18,7 +18,7 @@
     <ul>
     {% for i in items %}
         <li><b>{{ i.title }}</b>
-            <a href="/items/{{ i.id }}">View</a>
+            <a href="{% url telemeta-item-detail i.id %}">View</a>
             <a href="#">Edit</a>
             </li>
     {% endfor %}
index 8f4aad44f015b326c286c42859806daf15486db8..0958b43154cc23185a2adb62c8ac6b547c76c7c3 100644 (file)
@@ -24,36 +24,54 @@ urlpatterns = patterns('',
     (r'^$', web_view.index),
 
     # items
-    (r'^items/$', 'django.views.generic.list_detail.object_list', 
-        dict(all_items, paginate_by=10, template_name="mediaitem_list.html")),
-    (r'^items/(?P<item_id>[0-9]+)/$', web_view.item_detail),
-    (r'^items/(?P<item_id>[0-9]+)/download/(?P<format>[0-9A-Z]+)/$', 
-        web_view.item_export),
-    (r'^items/(?P<item_id>[0-9]+)/visualize/(?P<visualizer_id>[0-9a-z]+)/$', 
-        web_view.item_visualize),
+    url(r'^items/$', 'django.views.generic.list_detail.object_list', 
+        dict(all_items, paginate_by=10, template_name="mediaitem_list.html"),
+        name="telemeta-items"),
+    url(r'^items/(?P<item_id>[0-9]+)/$', web_view.item_detail, 
+        name="telemeta-item-detail"),
+    url(r'^items/(?P<item_id>[0-9]+)/download/(?P<format>[0-9A-Z]+)/$', 
+        web_view.item_export,
+        name="telemeta-item-export"),
+    url(r'^items/(?P<item_id>[0-9]+)/visualize/(?P<visualizer_id>[0-9a-z]+)/$', 
+        web_view.item_visualize,
+        name="telemeta-item-visualize"),
 
     # collections
-    (r'^collections/$', 'django.views.generic.list_detail.object_list',
-        dict(all_collections, paginate_by=10, template_name="collection_list.html")),
-    (r'^collections/(?P<object_id>[0-9]+)/$', 
+    url(r'^collections/$', 'django.views.generic.list_detail.object_list',
+        dict(all_collections, paginate_by=20, 
+            template_name="collection_list.html"),
+        name="telemeta-collections"),
+    url(r'^collections/?page=(?P<page>[0-9]+)$', 
+        'django.views.generic.list_detail.object_list',
+        dict(all_collections, paginate_by=20)),
+    url(r'^collections/(?P<object_id>[0-9A-Z._-]+)/$', 
         'django.views.generic.list_detail.object_detail',
-        dict(all_collections, template_name="collection_detail.html")),
+        dict(all_collections, template_name="collection_detail.html"),
+        name="telemeta-collection-detail"),
 
     # search
-    (r'^search/$', web_view.quick_search),
+    url(r'^search/$', web_view.quick_search, name="telemeta-quicksearch"),
 
     # administration        
-    (r'^admin/$', web_view.admin_index),        
+    url(r'^admin/$', web_view.admin_index, name="telemeta-admin"),        
 
     # dictionaries administration
-    (r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/$', web_view.edit_dictionary),        
-    (r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/add/$', web_view.add_to_dictionary),        
-    (r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/update/$', web_view.update_dictionary),        
-    (r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/(?P<value_id>[0-9]+)/$',
-        web_view.edit_dictionary_value),   
+    url(r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/$', 
+        web_view.edit_dictionary ,
+        name="telemeta-dictionary-edit"),        
+    url(r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/add/$', 
+        web_view.add_to_dictionary,
+        name="telemeta-dictionary-add"),        
+    url(r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/update/$', 
+        web_view.update_dictionary,
+        name="telemeta-dictionary-update"),        
+    url(r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/(?P<value_id>[0-9]+)/$',
+        web_view.edit_dictionary_value,
+        name="telemeta-dictionary-record-edit"),   
 
-    (r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/(?P<value_id>[0-9]+)/update/$',
-        web_view.update_dictionary_value),   
+    url(r'^admin/dictionaries/(?P<dictionary_id>[0-9a-z]+)/(?P<value_id>[0-9]+)/update/$',
+        web_view.update_dictionary_value, 
+        name="telemeta-dictionary-record-update"),   
 
 
     # CSS+Images (FIXME: for developement only)
index ebe791e8ef2ebcd3ee4aaa834055189263eeef44..2018506b34b2f1b83dd0b472c747625670cc6d90 100644 (file)
@@ -9,6 +9,7 @@
 
 import telemeta
 from django.template import Context, loader
+from django import template
 from django.http import HttpResponse
 from django.http import Http404
 from telemeta.models import MediaItem