--- a/src/egonomy/templates/egonomy_all_pictures.html Thu Feb 14 16:40:41 2013 +0100
+++ b/src/egonomy/templates/egonomy_all_pictures.html Thu Feb 14 18:00:30 2013 +0100
@@ -19,7 +19,7 @@
{% else %}
<h2>{% trans "All pictures" %}</h2>
{% endif %}
- {% if nb_pages > 1 %}<p>{% build_pagination nb_pages cur_page_nb "all_pictures" "contents_page clickable" %}</p>{% endif %}
+ {% if nb_pages > 1 %}<p>{% build_pagination nb_pages cur_page_nb url_pagination "contents_page clickable" %}</p>{% endif %}
<ul class="fullwidth">
{% for img in results %}
<li class="subcol subcol-eighth">
@@ -50,7 +50,7 @@
</li>
{% endfor %}
</ul>
- {% if nb_pages > 1 %}<p>{% build_pagination nb_pages cur_page_nb "all_pictures" "contents_page clickable" %}</p>{% endif %}
+ {% if nb_pages > 1 %}<p>{% build_pagination nb_pages cur_page_nb url_pagination "contents_page clickable" %}</p>{% endif %}
</div>
</div>
{% endblock %}
--- a/src/egonomy/templates/partial/all_pictures_pagination.html Thu Feb 14 16:40:41 2013 +0100
+++ b/src/egonomy/templates/partial/all_pictures_pagination.html Thu Feb 14 18:00:30 2013 +0100
@@ -1,21 +1,21 @@
{% if nb_pages %}
{% comment %}alors ? : {{begin}} - {{middle}} - {{end}} - nb_pages = {{nb_pages}}<br/>
alors ? : nb_pages = {{nb_pages}} - range = {{nb_pages}} - cur_page_nb = {{cur_page_nb}}<br/>{% endcomment %}
- {% if 1 < cur_page_nb %}<a class="{{a_class}}" alt="prev" href="{% url url_to %}?page={{cur_page_nb|add:'-1'}}"><<</a> {% endif %}
+ {% if 1 < cur_page_nb %}<a class="{{a_class}}" alt="prev" href="{{ url_pagination }}&page={{cur_page_nb|add:'-1'}}"><<</a> {% endif %}
{% for i in begin %}
- {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{% url url_to %}?page={{i}}">{{i}}</a>{% endif %}
+ {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{{ url_pagination }}&page={{i}}">{{i}}</a>{% endif %}
{% endfor %}
{% if middle %}
...
{% for i in middle %}
- {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{% url url_to %}?page={{i}}">{{i}}</a>{% endif %}
+ {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{{ url_pagination }}&page={{i}}">{{i}}</a>{% endif %}
{% endfor %}
{% endif %}
{% if end %}
...
{% for i in end %}
- {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{% url url_to %}?page={{i}}">{{i}}</a>{% endif %}
+ {% if i == cur_page_nb %}{{i}}{% else %}<a class="{{a_class}}" alt="{{i}}" href="{{ url_pagination }}&page={{i}}">{{i}}</a>{% endif %}
{% endfor %}
{% endif %}
- {% if cur_page_nb < nb_pages %}<a class="{{a_class}}" alt="next" href="{% url url_to %}?page={{cur_page_nb|add:'1'}}">>></a>{% endif %}
+ {% if cur_page_nb < nb_pages %}<a class="{{a_class}}" alt="next" href="{{ url_pagination }}&page={{cur_page_nb|add:'1'}}">>></a>{% endif %}
{% endif %}
\ No newline at end of file
--- a/src/egonomy/templatetags/navigation.py Thu Feb 14 16:40:41 2013 +0100
+++ b/src/egonomy/templatetags/navigation.py Thu Feb 14 18:00:30 2013 +0100
@@ -20,7 +20,7 @@
@register.inclusion_tag("partial/all_pictures_pagination.html", takes_context=True)
-def build_pagination(context, nb_pages, cur_page_nb, url_to, a_class, begin_pages=2, end_pages=2, before_current_pages=2, after_current_pages=2):
+def build_pagination(context, nb_pages, cur_page_nb, url_pagination, a_class, begin_pages=2, end_pages=2, before_current_pages=2, after_current_pages=2):
# Digg-like pagination. Adapted from http://djangosnippets.org/snippets/2199/
nb_pages = int(nb_pages)
cur_page_nb = int(cur_page_nb)
@@ -66,12 +66,16 @@
#assert False, str(nb_pages) + ", " + str(page_range) + ", " + str(begin)
+ # We control if url_pagination has at least "?"
+ if not "?" in url_pagination:
+ url_pagination = url_pagination + "?"
+
context.update({'begin' : begin,
'middle' : middle,
'end' : end,
'nb_pages' : nb_pages,
'cur_page_nb' : cur_page_nb,
- 'url_to' : url_to,
+ 'url_pagination' : url_pagination,
'a_class' : a_class})
#assert False, begin + middle + end
return context
--- a/src/egonomy/views.py Thu Feb 14 16:40:41 2013 +0100
+++ b/src/egonomy/views.py Thu Feb 14 18:00:30 2013 +0100
@@ -1,15 +1,15 @@
from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.core.paginator import Paginator, InvalidPage, EmptyPage
+from django.core.urlresolvers import reverse
+from django.db.models.aggregates import Max
from django.shortcuts import get_object_or_404, render_to_response, redirect
from django.template import RequestContext
-from models import Image, Fragment
-from django.db.models.aggregates import Max
-import logging
+from egonomy.models import ImageMetadata, Image, Fragment
+from egonomy.search_indexes import QueryParser
+from egonomy.search_indexes.paginator import SearchPaginator
from egonomy.search_indexes.query import ModelRelatedSearchQuerySet
-from egonomy.search_indexes import QueryParser
-from egonomy.models import ImageMetadata
-from egonomy.search_indexes.paginator import SearchPaginator
+import logging
logger = logging.getLogger(__name__)
@@ -108,15 +108,19 @@
paginator = SearchPaginator(res, nb)
else:
img_list = img_list.order_by('pk').all()
- paginator = Paginator(img_list, nb)
+ paginator = Paginator(img_list, nb)
try:
results = paginator.page(cur_page_nb)
except (EmptyPage, InvalidPage):
results = paginator.page(paginator.num_pages)
+
+ url_pagination = reverse("all_pictures")
+ if search:
+ url_pagination = url_pagination + "?search=" + search
return render_to_response("egonomy_all_pictures.html",
- {'results':results, 'nb_pages':paginator.num_pages, 'cur_page_nb':cur_page_nb, "search":search, "nb_results":nb_results},
+ {'results':results, 'nb_pages':paginator.num_pages, 'cur_page_nb':cur_page_nb, "search":search, "nb_results":nb_results, "url_pagination":url_pagination},
context_instance=RequestContext(request))