kopia lustrzana https://github.com/wagtail/wagtail
Revert 8e106f4
and move paginate_queryset() to BaseListingView.
rodzic
0e60590676
commit
74df95d049
|
@ -396,7 +396,11 @@ class TestPageExplorer(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/pages/index.html")
|
||||
|
||||
# Check that we got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_pagination_out_of_range(self):
|
||||
self.make_pages()
|
||||
|
@ -406,7 +410,14 @@ class TestPageExplorer(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/pages/index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
def test_no_pagination_with_custom_ordering(self):
|
||||
self.make_pages()
|
||||
|
|
|
@ -110,13 +110,11 @@ class TestPageSearch(WagtailTestUtils, TransactionTestCase):
|
|||
self.assertContains(response, f'href="{expected_new_page_copy_url}"')
|
||||
|
||||
def test_pagination(self):
|
||||
# page numbers in range should be accepted
|
||||
response = self.get({"q": "Hello", "p": 1})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/pages/search.html")
|
||||
# page numbers out of range should return 404
|
||||
response = self.get({"q": "Hello", "p": 9999})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
pages = ["0", "1", "-1", "9999", "Not a page"]
|
||||
for page in pages:
|
||||
response = self.get({"q": "Hello", "p": page})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/pages/search.html")
|
||||
|
||||
def test_root_can_appear_in_search_results(self):
|
||||
response = self.get({"q": "root"})
|
||||
|
|
|
@ -290,7 +290,15 @@ class TestWorkflowsIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase)
|
|||
self.assertContains(response, url + "?p=3")
|
||||
|
||||
response = self.get({"p": 4})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/workflows/index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
|
||||
class TestWorkflowPermissions(WagtailTestUtils, TestCase):
|
||||
|
@ -1199,7 +1207,15 @@ class TestTaskIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|||
self.assertContains(response, url + "?p=3")
|
||||
|
||||
response = self.get({"p": 4})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailadmin/workflows/task_index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
def test_num_queries(self):
|
||||
workflows = [Workflow.objects.create(name=f"workflow_{i}") for i in range(7)]
|
||||
|
|
|
@ -407,6 +407,18 @@ class BaseListingView(WagtailAdminTemplateMixin, BaseListView):
|
|||
queryset = self.filter_queryset(queryset)
|
||||
return queryset
|
||||
|
||||
def paginate_queryset(self, queryset, page_size):
|
||||
paginator = self.get_paginator(
|
||||
queryset,
|
||||
page_size,
|
||||
orphans=self.get_paginate_orphans(),
|
||||
allow_empty_first_page=self.get_allow_empty(),
|
||||
)
|
||||
|
||||
page_number = self.request.GET.get(self.page_kwarg)
|
||||
page = paginator.get_page(page_number)
|
||||
return (paginator, page, page.object_list, page.has_other_pages())
|
||||
|
||||
def get_table_kwargs(self):
|
||||
return {
|
||||
"ordering": self.ordering,
|
||||
|
|
|
@ -197,7 +197,11 @@ class TestFormsIndex(WagtailTestUtils, TestCase):
|
|||
response = self.client.get(reverse("wagtailforms:index"), {"p": "Hello world!"})
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/index.html")
|
||||
|
||||
# Check that it got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_forms_index_pagination_out_of_range(self):
|
||||
# Create some more form pages to make pagination kick in
|
||||
|
@ -207,7 +211,13 @@ class TestFormsIndex(WagtailTestUtils, TestCase):
|
|||
response = self.client.get(reverse("wagtailforms:index"), {"p": 99999})
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/index.html")
|
||||
|
||||
# Check that it got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number, response.context["paginator"].num_pages
|
||||
)
|
||||
|
||||
def test_cannot_see_forms_without_permission(self):
|
||||
# Login with as a user without permission to see forms
|
||||
|
@ -319,7 +329,15 @@ class TestFormsIndexWithLocalisationEnabled(WagtailTestUtils, TestCase):
|
|||
self.assertEqual(len(response.context["page_obj"].object_list), 3)
|
||||
|
||||
response = self.client.get(self.forms_index_url, {"p": 4})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
# now check the French pages.
|
||||
response = self.client.get(
|
||||
|
@ -484,7 +502,11 @@ class TestFormsSubmissionsList(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/submissions_index.html")
|
||||
|
||||
# Check that we got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_list_submissions_pagination_out_of_range(self):
|
||||
self.make_list_submissions()
|
||||
|
@ -495,7 +517,13 @@ class TestFormsSubmissionsList(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/submissions_index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number, response.context["paginator"].num_pages
|
||||
)
|
||||
|
||||
def test_list_submissions_default_order(self):
|
||||
response = self.client.get(
|
||||
|
@ -1183,7 +1211,11 @@ class TestCustomFormsSubmissionsList(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/submissions_index.html")
|
||||
|
||||
# Check that we got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_list_submissions_pagination_out_of_range(self):
|
||||
self.make_list_submissions()
|
||||
|
@ -1194,7 +1226,13 @@ class TestCustomFormsSubmissionsList(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailforms/submissions_index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number, response.context["paginator"].num_pages
|
||||
)
|
||||
|
||||
|
||||
class TestDeleteFormSubmission(WagtailTestUtils, TestCase):
|
||||
|
|
|
@ -652,12 +652,10 @@ class TestRedirectsIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase)
|
|||
self.assertEqual(response.context["query_string"], "Aaargh")
|
||||
|
||||
def test_pagination(self):
|
||||
# page numbers in range should be accepted
|
||||
response = self.get({"p": 1})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
# page numbers out of range should return 404
|
||||
response = self.get({"p": 9999})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
pages = ["0", "1", "-1", "9999", "Not a page"]
|
||||
for page in pages:
|
||||
response = self.get({"p": page})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_default_ordering(self):
|
||||
for i in range(0, 10):
|
||||
|
|
|
@ -241,7 +241,11 @@ class TestSearchPromotionsIndexView(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailsearchpromotions/index.html")
|
||||
|
||||
# Check that we got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_pagination_out_of_range(self):
|
||||
self.make_search_picks()
|
||||
|
@ -251,7 +255,14 @@ class TestSearchPromotionsIndexView(WagtailTestUtils, TestCase):
|
|||
)
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailsearchpromotions/index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
def test_num_queries(self):
|
||||
url = reverse("wagtailsearchpromotions:index")
|
||||
|
|
|
@ -71,7 +71,11 @@ class TestDocumentIndexView(WagtailTestUtils, TestCase):
|
|||
response = self.get({"p": "Hello World!"})
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtaildocs/documents/index.html")
|
||||
|
||||
# Check that we got page one
|
||||
self.assertEqual(response.context["page_obj"].number, 1)
|
||||
|
||||
def test_pagination_out_of_range(self):
|
||||
self.make_docs()
|
||||
|
@ -79,7 +83,14 @@ class TestDocumentIndexView(WagtailTestUtils, TestCase):
|
|||
response = self.get({"p": 99999})
|
||||
|
||||
# Check response
|
||||
self.assertEqual(response.status_code, 404)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtaildocs/documents/index.html")
|
||||
|
||||
# Check that we got the last page
|
||||
self.assertEqual(
|
||||
response.context["page_obj"].number,
|
||||
response.context["paginator"].num_pages,
|
||||
)
|
||||
|
||||
def test_ordering(self):
|
||||
orderings = ["title", "-created_at"]
|
||||
|
|
|
@ -81,12 +81,10 @@ class TestImageIndexView(WagtailTestUtils, TestCase):
|
|||
self.assertContains(response, "a cute puppy")
|
||||
|
||||
def test_pagination(self):
|
||||
# page numbers in range should be accepted
|
||||
response = self.get({"p": 1})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
# page numbers out of range should return 404
|
||||
response = self.get({"p": 9999})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
pages = ["0", "1", "-1", "9999", "Not a page"]
|
||||
for page in pages:
|
||||
response = self.get({"p": page})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_pagination_preserves_other_params(self):
|
||||
root_collection = Collection.get_first_root_node()
|
||||
|
|
|
@ -215,13 +215,11 @@ class TestSnippetListView(WagtailTestUtils, TestCase):
|
|||
self.assertEqual(response.context["page_obj"][0].text, "advert 10")
|
||||
|
||||
def test_simple_pagination(self):
|
||||
# page numbers in range should be accepted
|
||||
response = self.get({"p": 1})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailsnippets/snippets/index.html")
|
||||
# page numbers out of range should return 404
|
||||
response = self.get({"p": 9999})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
pages = ["0", "1", "-1", "9999", "Not a page"]
|
||||
for page in pages:
|
||||
response = self.get({"p": page})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTemplateUsed(response, "wagtailsnippets/snippets/index.html")
|
||||
|
||||
def test_displays_add_button(self):
|
||||
self.assertContains(self.get(), "Add advert")
|
||||
|
|
|
@ -238,12 +238,10 @@ class TestUserIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|||
self.assertIn(self.test_user, results)
|
||||
|
||||
def test_pagination(self):
|
||||
# page numbers in range should be accepted
|
||||
response = self.get({"p": 1})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
# page numbers out of range should return 404
|
||||
response = self.get({"p": 9999})
|
||||
self.assertEqual(response.status_code, 404)
|
||||
pages = ["0", "1", "-1", "9999", "Not a page"]
|
||||
for page in pages:
|
||||
response = self.get({"p": page})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_ordering(self):
|
||||
# checking that only valid ordering used, in case of `IndexView` the valid
|
||||
|
|
Ładowanie…
Reference in New Issue