~netlandish/django-pagination

dcbff8649c4835a64975d28161a1cebb278180ea — jtauber 16 years ago a35ff9b
paging maintains other GET parameters -- contributed by jezdez

git-svn-id: https://django-pagination.googlecode.com/svn/trunk@14 7f1efe38-554e-0410-b69d-834cb44da2d5
M pagination/templates/pagination/pagination.html => pagination/templates/pagination/pagination.html +21 -4
@@ 1,8 1,25 @@
{% if is_paginated %}
<div class="pagination">
    {% if page_obj.has_previous %}<a href="?page={{ page_obj.previous_page_number }}" class="prev">&lsaquo;&lsaquo; previous</a> {% else %}<span class="disabled prev">&lsaquo;&lsaquo; previous</span> {% endif %}
    {% for page in pages %}{% if page %}{% ifequal page page_obj.number %}<span class="current page">{{ page }}</span> {% else %}<a href="?page={{ page }}" class="page">{{ page }}</a> {% endifequal %}{% else %} ... {% endif %}
    {% if page_obj.has_previous %}
        <a href="?page={{ page_obj.previous_page_number }}{{ getvars }}" class="prev">&lsaquo;&lsaquo; previous</a>
    {% else %}
        <span class="disabled prev">&lsaquo;&lsaquo; previous</span>
    {% endif %}
    {% for page in pages %}
        {% if page %}
            {% ifequal page page_obj.number %}
                <span class="current page">{{ page }}</span>
            {% else %}
                <a href="?page={{ page }}{{ getvars }}" class="page">{{ page }}</a>
            {% endifequal %}
        {% else %}
            ...
        {% endif %}
    {% endfor %}
    {% if page_obj.has_next %}<a href="?page={{ page_obj.next_page_number }}" class="next">next &rsaquo;&rsaquo;</a>{% else %}<span class="disabled next">next &rsaquo;&rsaquo;</span>{% endif %}
    {% if page_obj.has_next %}
        <a href="?page={{ page_obj.next_page_number }}{{ getvars }}" class="next">next &rsaquo;&rsaquo;</a>
    {% else %}
        <span class="disabled next">next &rsaquo;&rsaquo;</span>
    {% endif %}
</div>
{% endif %}
\ No newline at end of file
{% endif %}

M pagination/templatetags/pagination_tags.py => pagination/templatetags/pagination_tags.py +6 -1
@@ 114,11 114,16 @@ def paginate(context, window=4):
            pages.extend(second_list)
        else:
            pages.extend(sorted(list(last.difference(current))))
        return { 
        
        getvars = context['request'].GET.copy()
        if 'page' in getvars:
            del getvars['page']
        return {
            'pages': pages,
            'page_obj': page_obj,
            'paginator': paginator,
            'is_paginated': paginator.count > paginator.per_page,
            'getvars': "&%s" % getvars.urlencode()
        }
    except KeyError:
        return u''