diff --git a/docs/releases/2.0.rst b/docs/releases/2.0.rst
index 1f291faa10..52be862b9c 100644
--- a/docs/releases/2.0.rst
+++ b/docs/releases/2.0.rst
@@ -31,6 +31,7 @@ What's new in Mayan EDMS v2.0
* South
* GitPython
+ * django-pagination
* psutil
* python-hkp
* sendfile
@@ -52,6 +53,7 @@ What's new in Mayan EDMS v2.0
* PyYAML
* django-autoadmin
+ * django-pure-pagination
* djangorestframework-recursive
* Permissions refactor
@@ -79,6 +81,7 @@ What's new in Mayan EDMS v2.0
* Improved API
* Text parsers and OCR backend are used in tandem.
* Invert page title/project name order in browser title.
+* Use Django's class based views pagination
Upgrading from a previous version
=================================
diff --git a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html
index 07bf891297..6c01f9fe11 100644
--- a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html
+++ b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html
@@ -2,18 +2,20 @@
{% load static %}
{% load common_tags %}
-{% load pagination_tags %}
{% load navigation_tags %}
-{% autopaginate object_list %}
- {% ifnotequal page_obj.paginator.num_pages 1 %}
- {% blocktrans with page_obj.start_index as start and page_obj.end_index as end and page_obj.paginator.object_list|length as total and page_obj.number as page_number and page_obj.paginator.num_pages as total_pages %}Total ({{ start }} - {{ end }} out of {{ total }}) (Page {{ page_number }} of {{ total_pages }}){% endblocktrans %}
+ {% if page_obj %}
+ {% if page_obj.paginator.num_pages != 1 %}
+ {% blocktrans with page_obj.start_index as start and page_obj.end_index as end and page_obj.paginator.object_list|length as total and page_obj.number as page_number and page_obj.paginator.num_pages as total_pages %}Total ({{ start }} - {{ end }} out of {{ total }}) (Page {{ page_number }} of {{ total_pages }}){% endblocktrans %}
+ {% else %}
+ {% blocktrans with page_obj.paginator.object_list|length as total %}Total: {{ total }}{% endblocktrans %}
+ {% endif %}
{% else %}
- {% blocktrans with page_obj.paginator.object_list|length as total %}Total: {{ total }}{% endblocktrans %}
- {% endifnotequal %}
+ {% blocktrans with object_list|length as total %}Total: {{ total }}{% endblocktrans %}
+ {% endif %}
@@ -119,7 +121,7 @@
{% endif %}
- {% paginate %}
+ {% include 'pagination/pagination.html' %}
diff --git a/mayan/apps/appearance/templates/pagination/pagination.html b/mayan/apps/appearance/templates/pagination/pagination.html
index 3a264cfb66..9791e484ca 100644
--- a/mayan/apps/appearance/templates/pagination/pagination.html
+++ b/mayan/apps/appearance/templates/pagination/pagination.html
@@ -1,27 +1,27 @@
{% if is_paginated %}