Merge pull request #282 from kaedroho/page-pagination

Page pagination
This commit is contained in:
Dave Cranwell 2014-06-05 14:59:46 +01:00
commit dfd8575070
3 changed files with 33 additions and 2 deletions

View file

@ -229,4 +229,24 @@
<tr><td colspan="3" class="no-results-message"><p>{% trans "No pages have been created." %}{% if parent_page and parent_page_perms.can_add_subpage %} {% blocktrans %}Why not <a href="{{ add_page_url }}">add one</a>?{% endblocktrans %}{% endif %}</td></tr>
{% endif %}
</tbody>
</table>
</table>
{% if parent_page and pages and pages.paginator %}
<div class="pagination">
<p>{% blocktrans with page_number=pages.number num_pages=pages.paginator.num_pages%}
Page {{ page_number }} of {{ num_pages }}.
{% endblocktrans %}</p>
<ul>
<li class="prev">
{% if pages.has_previous %}
<a href="{% url 'wagtailadmin_explore' parent_page.id %}?p={{ pages.previous_page_number }}{% if ordering %}&amp;ordering={{ ordering }}{% endif %}" class="icon icon-arrow-left">{% trans "Previous" %}</a>
{% endif %}
</li>
<li class="next">
{% if pages.has_next %}
<a href="{% url 'wagtailadmin_explore' parent_page.id %}?p={{ pages.next_page_number }}{% if ordering %}&amp;ordering={{ ordering }}{% endif %}" class="icon icon-arrow-right-after">{% trans 'Next' %}</a>
{% endif %}
</li>
</ul>
</div>
{% endif %}

View file

@ -25,7 +25,7 @@ class TestPageExplorer(TestCase):
response = self.client.get(reverse('wagtailadmin_explore', args=(self.root_page.id, )))
self.assertEqual(response.status_code, 200)
self.assertEqual(self.root_page, response.context['parent_page'])
self.assertTrue(response.context['pages'].filter(id=self.child_page.id).exists())
self.assertTrue(response.context['pages'].paginator.object_list.filter(id=self.child_page.id).exists())
class TestPageCreation(TestCase):

View file

@ -33,6 +33,17 @@ def index(request, parent_page_id=None):
else:
ordering = 'title'
# Pagination
if ordering != 'ord':
p = request.GET.get('p', 1)
paginator = Paginator(pages, 50)
try:
pages = paginator.page(p)
except PageNotAnInteger:
pages = paginator.page(1)
except EmptyPage:
pages = paginator.page(paginator.num_pages)
return render(request, 'wagtailadmin/pages/index.html', {
'parent_page': parent_page,
'ordering': ordering,