From e1e7af58191ac3fb969818e568c0acede2ee9ba4 Mon Sep 17 00:00:00 2001
From: Jarmil <jarmil.halamicek@seznam.cz>
Date: Wed, 7 Oct 2020 13:58:06 +0200
Subject: [PATCH] Stranka MS - aktuality: strankovani

---
 district/models.py                            | 11 +++---
 .../templates/district/district_articles.html | 34 +++++++++++++++++++
 2 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/district/models.py b/district/models.py
index eb1d1000..8a877ea3 100644
--- a/district/models.py
+++ b/district/models.py
@@ -1,3 +1,4 @@
+from django.core.paginator import Paginator
 from django.db import models
 from django.utils.translation import gettext_lazy
 from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, StreamFieldPanel
@@ -89,10 +90,8 @@ class DistrictArticles(MetadataPageMixin, Page):
 
     def get_context(self, request):
         context = super().get_context(request)
-        context["articles"] = (
-            self.get_siblings(inclusive=False)
-            .type(Article)
-            .live()
-            .specific()[: self.max_items]
-        )
+        context["articles"] = Paginator(
+            self.get_siblings(inclusive=False).type(Article).live().specific(),
+            self.max_items or 5,
+        ).get_page(request.GET.get("page"))
         return context
diff --git a/district/templates/district/district_articles.html b/district/templates/district/district_articles.html
index e109ae7c..55d31691 100644
--- a/district/templates/district/district_articles.html
+++ b/district/templates/district/district_articles.html
@@ -11,5 +11,39 @@
     {% endfor %}
     </div>
 
+    <div class="pagination-container" role="navigation" aria-label="Pagination">
+      <nav>
+
+      {% if articles.has_previous %}
+      <a href="/aktuality/?page={{ articles.previous_page_number }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed btn--inverted-icon px-0"  aria-label="Předchozí stránka">
+          <div class="btn__body-wrap">
+            <div class="btn__body ">Předchozí</div>
+            <div class="btn__icon ">
+              <i class="ico--chevron-left"></i>
+            </div>
+          </div>
+      </a>
+      {% endif %}
+
+     {% for i in articles.paginator.page_range %}
+      <a href="/aktuality/?page={{ i }}" class="btn {% if i == articles.number %} btn--grey-500 {% else %} btn--grey-125 {% endif %} btn--hoveractive btn--to-black btn--condensed hidden md:inline-block px-0"  aria-label="Stránka {{ i }}">
+          <div class="btn__body ">{{ i }}</div>
+      </a>
+     {% endfor %}
+
+     {% if articles.has_next %}
+      <a href="/aktuality/?page={{ articles.next_page_number }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed px-0"  aria-label="Další stránka">
+          <div class="btn__body-wrap">
+            <div class="btn__body ">Další</div>
+            <div class="btn__icon ">
+              <i class="ico--chevron-right"></i>
+            </div>
+          </div>
+      </a>
+      {% endif %}
+
+      </nav>
+    </div>
+
 </main>
 {% endblock %}
-- 
GitLab