From a2e03538e367a7b440c9623c342a438d94c6750a Mon Sep 17 00:00:00 2001 From: Gabriel Detraz Date: Thu, 26 Oct 2017 18:48:09 +0200 Subject: [PATCH] Gentil paginateur --- topologie/templates/topologie/aff_switch.html | 4 ++++ topologie/templates/topologie/index.html | 1 + topologie/views.py | 12 ++++++++++++ 3 files changed, 17 insertions(+) diff --git a/topologie/templates/topologie/aff_switch.html b/topologie/templates/topologie/aff_switch.html index eb326421..6542ce13 100644 --- a/topologie/templates/topologie/aff_switch.html +++ b/topologie/templates/topologie/aff_switch.html @@ -22,6 +22,10 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. {% endcomment %} +{% if switch_list.paginator %} +{% include "pagination.html" with list=switch_list %} +{% endif %} + diff --git a/topologie/templates/topologie/index.html b/topologie/templates/topologie/index.html index 72b522d0..6b17b6de 100644 --- a/topologie/templates/topologie/index.html +++ b/topologie/templates/topologie/index.html @@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,

Switchs

{% if is_infra %} Ajouter un switch +
{% endif %} {% include "topologie/aff_switch.html" with switch_list=switch_list %}
diff --git a/topologie/views.py b/topologie/views.py index 5cd413f7..d72be310 100644 --- a/topologie/views.py +++ b/topologie/views.py @@ -89,6 +89,18 @@ def index(request): request.GET.get('order'), SortTable.TOPOLOGIE_INDEX ) + options, _created = GeneralOption.objects.get_or_create() + pagination_number = options.pagination_number + paginator = Paginator(switch_list, pagination_number) + page = request.GET.get('page') + try: + switch_list = paginator.page(page) + except PageNotAnInteger: + # If page is not an integer, deliver first page. + switch_list = paginator.page(1) + except EmptyPage: + # If page is out of range (e.g. 9999), deliver last page of results. + switch_list = paginator.page(paginator.num_pages) return render(request, 'topologie/index.html', { 'switch_list': switch_list })