Implements zyga/django-pagination#22
authorMike TUMS <mktums@gmail.com>
Mon, 7 Apr 2014 08:35:33 +0000 (12:35 +0400)
committerMike TUMS <mktums@gmail.com>
Mon, 7 Apr 2014 08:35:33 +0000 (12:35 +0400)
doc/usage.rst
linaro_django_pagination/settings.py
linaro_django_pagination/templates/pagination/pagination.html
linaro_django_pagination/templatetags/pagination_tags.py

index a57cf46..199e6a3 100644 (file)
@@ -168,3 +168,7 @@ behavior of the pagination tags.  Here's an overview:
 ``PAGINATION_DISPLAY_DISABLED_NEXT_LINK``
     If set to ``False``, the next page link will not be displayed if there's no 
     next page. Defaults to False.
 ``PAGINATION_DISPLAY_DISABLED_NEXT_LINK``
     If set to ``False``, the next page link will not be displayed if there's no 
     next page. Defaults to False.
+
+``PAGINATION_DISABLE_LINK_FOR_FIRST_PAGE``
+    if set to ``False``, the first page will have ``?page=1`` link suffix in pagination displayed, otherwise is omitted.
+    Defaults to True.
index ff74fd3..24a04e0 100644 (file)
@@ -52,3 +52,5 @@ DISPLAY_DISABLED_PREVIOUS_LINK = getattr(
     settings, 'PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK', False)
 DISPLAY_DISABLED_NEXT_LINK = getattr(
     settings, 'PAGINATION_DISPLAY_DISABLED_NEXT_LINK', False)
     settings, 'PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK', False)
 DISPLAY_DISABLED_NEXT_LINK = getattr(
     settings, 'PAGINATION_DISPLAY_DISABLED_NEXT_LINK', False)
+DISABLE_LINK_FOR_FIRST_PAGE = getattr(
+    settings, 'PAGINATION_DISABLE_LINK_FOR_FIRST_PAGE', True)
index 1bd9ab5..5d926a3 100644 (file)
@@ -3,7 +3,11 @@
 <div class="pagination">
   {% block previouslink %}
   {% if page_obj.has_previous %}
 <div class="pagination">
   {% block previouslink %}
   {% if page_obj.has_previous %}
-  <a href="?page{{ page_suffix }}={{ page_obj.previous_page_number }}{{ getvars }}" class="prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</a>
+  {% if display_link_for_first_page and page_obj.previous_page_number == 1 %}
+  <a href="{{ getvars }}" class="prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</a>
+  {% else %}
+  <a href="{% if disable_link_for_first_page and page_obj.previous_page_number != 1 %}?page{{ page_suffix }}={{ page_obj.previous_page_number }}{% endif %}{{ getvars }}" class="prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</a>
+  {% endif %}
   {% else %}
   {% if display_disabled_previous_link %}
   <span class="disabled prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</span>
   {% else %}
   {% if display_disabled_previous_link %}
   <span class="disabled prev">{{ previous_link_decorator|safe }}{% trans "previous" %}</span>
   {% ifequal page page_obj.number %}
   <span class="current page">{{ page }}</span>
   {% else %}
   {% ifequal page page_obj.number %}
   <span class="current page">{{ page }}</span>
   {% else %}
+  {% if disable_link_for_first_page and page == 1 %}
+  <a href="{{ getvars }}" class="page">{{ page }}</a>
+  {% else %}
   <a href="?page{{ page_suffix }}={{ page }}{{ getvars }}" class="page">{{ page }}</a>
   <a href="?page{{ page_suffix }}={{ page }}{{ getvars }}" class="page">{{ page }}</a>
+  {% endif %}
   {% endifequal %}
   {% else %}
   ...
   {% endifequal %}
   {% else %}
   ...
index a703928..995edc3 100644 (file)
@@ -306,6 +306,7 @@ def paginate(context, window=DEFAULT_WINDOW, margin=DEFAULT_MARGIN):
         new_context = {
             'MEDIA_URL': settings.MEDIA_URL,
             'STATIC_URL': getattr(settings, "STATIC_URL", None),
         new_context = {
             'MEDIA_URL': settings.MEDIA_URL,
             'STATIC_URL': getattr(settings, "STATIC_URL", None),
+            'disable_link_for_first_page': DISABLE_LINK_FOR_FIRST_PAGE,
             'display_disabled_next_link': DISPLAY_DISABLED_NEXT_LINK,
             'display_disabled_previous_link': DISPLAY_DISABLED_PREVIOUS_LINK,
             'display_page_links': DISPLAY_PAGE_LINKS,
             'display_disabled_next_link': DISPLAY_DISABLED_NEXT_LINK,
             'display_disabled_previous_link': DISPLAY_DISABLED_PREVIOUS_LINK,
             'display_page_links': DISPLAY_PAGE_LINKS,