<div class=pagination>
{% if pagination.has_prev %}
- <a href={{ pagination.get_page_url(request.path_info,
- pagination.page-1, request.GET) }}>« Prev</>
+ <a href={{ pagination.get_page_url(request, pagination.page-1) }}>« Prev</>
{% endif %}
{%- for page in pagination.iter_pages() %}
{% if page %}
{% if page != pagination.page %}
- <a href={{ pagination.get_page_url(request.path_info,
- page, request.GET) }}>{{ page }}</a>
+ <a href={{ pagination.get_page_url(request, page) }}>{{ page }}</a>
{% else %}
<strong>{{ page }}</strong>
{% endif %}
{%- endfor %}
{% if pagination.has_next %}
- <a href={{ pagination.get_page_url(request.path_info,
- pagination.page+1, request.GET) }}>Next »</a>
+ <a href={{ pagination.get_page_url(request, pagination.page+1) }}>Next »</a>
{% endif %}
</div>
{% endif %}
import urllib
from math import ceil
import copy
-import decorators
-from webob import exc
TESTS_ENABLED = False
def _activate_testing():
yield num
last = num
- def get_page_url(self, path_info, page_no, get_params=None):
+ def get_page_url(self, request, page_no):
"""
- Get a new page based of the path_info, the new page number,
+ Get a new page based of the request, the new page number,
and existing get parameters.
"""
+ path_info = request.path_info
+ get_params = request.GET
new_get_params = copy.copy(get_params or {})
new_get_params['page'] = page_no
return "%s?%s" % (