diff --git a/mayan/apps/documents/urls.py b/mayan/apps/documents/urls.py index ba13a9d1fc..627bb4763b 100644 --- a/mayan/apps/documents/urls.py +++ b/mayan/apps/documents/urls.py @@ -6,9 +6,10 @@ from .api_views import (APIDocumentView, APIDocumentImageView, APIDocumentListVi APIDocumentPageView, APIDocumentVersionCreateView, APIDocumentVersionView) from .settings import PRINT_SIZE, DISPLAY_SIZE +from .views import DocumentListView urlpatterns = patterns('documents.views', - url(r'^list/$', 'document_list', (), 'document_list'), + url(r'^list/$', DocumentListView.as_view(), name='document_list'), url(r'^list/recent/$', 'document_list_recent', (), 'document_list_recent'), url(r'^(?P\d+)/view/$', 'document_view', (), 'document_view_simple'), diff --git a/mayan/apps/documents/views.py b/mayan/apps/documents/views.py index 6eef18e666..46df9fc0fd 100644 --- a/mayan/apps/documents/views.py +++ b/mayan/apps/documents/views.py @@ -23,6 +23,7 @@ from common.literals import (PAGE_ORIENTATION_LANDSCAPE, PAGE_ORIENTATION_PORTRA from common.settings import DEFAULT_PAPER_SIZE from common.utils import (encapsulate, pretty_size, parse_range, return_diff, urlquote) +from common.views import SingleObjectListView from common.widgets import two_state_template from converter.literals import (DEFAULT_FILE_FORMAT_MIMETYPE, DEFAULT_PAGE_NUMBER, DEFAULT_ROTATION, DEFAULT_ZOOM_LEVEL) @@ -56,6 +57,17 @@ from .settings import (PREVIEW_SIZE, RECENT_COUNT, ROTATION_STEP, logger = logging.getLogger(__name__) +class DocumentListView(SingleObjectListView): + queryset = Document.objects.all() + object_permission = PERMISSION_DOCUMENT_VIEW + + extra_context = { + 'title': _(u'All documents'), + 'multi_select_as_buttons': True, + 'hide_links': True, + } + + def document_list(request, object_list=None, title=None, extra_context=None): pre_object_list = object_list if not (object_list is None) else Document.objects.all()