Update pagination behaviour on search promotions index to match Django standard

pull/10533/head
Matt Westcott 2023-06-10 00:36:58 +01:00
rodzic e6add87cd0
commit 8422c38ff9
2 zmienionych plików z 8 dodań i 15 usunięć

Wyświetl plik

@ -136,11 +136,7 @@ class TestSearchPromotionsIndexView(WagtailTestUtils, TestCase):
)
# Check response
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailsearchpromotions/index.html")
# Check that we got page one
self.assertEqual(response.context["queries"].number, 1)
self.assertEqual(response.status_code, 404)
def test_pagination_out_of_range(self):
self.make_search_picks()
@ -150,14 +146,7 @@ class TestSearchPromotionsIndexView(WagtailTestUtils, TestCase):
)
# Check response
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailsearchpromotions/index.html")
# Check that we got the last page
self.assertEqual(
response.context["queries"].number,
response.context["queries"].paginator.num_pages,
)
self.assertEqual(response.status_code, 404)
def test_results_are_ordered_alphabetically(self):
self.make_search_picks()

Wyświetl plik

@ -1,6 +1,7 @@
from django.core.paginator import Paginator
from django.core.paginator import InvalidPage, Paginator
from django.db import transaction
from django.db.models import Sum, functions
from django.http import Http404
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.urls import reverse
@ -47,7 +48,10 @@ def index(request):
# Paginate
paginator = Paginator(queries, per_page=20)
queries = paginator.get_page(request.GET.get("p"))
try:
queries = paginator.page(request.GET.get("p", 1))
except InvalidPage:
raise Http404
if request.headers.get("x-requested-with") == "XMLHttpRequest":
return TemplateResponse(