diff --git a/mayan/apps/documents/apps.py b/mayan/apps/documents/apps.py index 6c28a96428..7f0f359a20 100644 --- a/mayan/apps/documents/apps.py +++ b/mayan/apps/documents/apps.py @@ -58,8 +58,9 @@ from .models import ( from .permissions import ( PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD, PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_NEW_VERSION, - PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_TRANSFORM, - PERMISSION_DOCUMENT_VERSION_REVERT, PERMISSION_DOCUMENT_VIEW + PERMISSION_DOCUMENT_PRINT, PERMISSION_DOCUMENT_PROPERTIES_EDIT, + PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_VERSION_REVERT, + PERMISSION_DOCUMENT_VIEW ) from .settings import THUMBNAIL_SIZE from .statistics import DocumentStatistics, DocumentUsageStatistics @@ -88,7 +89,7 @@ class DocumentsApp(apps.AppConfig): class_permissions(Document, [ ACLS_VIEW_ACL, ACLS_EDIT_ACL, PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD, PERMISSION_DOCUMENT_EDIT, - PERMISSION_DOCUMENT_NEW_VERSION, + PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_PRINT, PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_VERSION_REVERT, PERMISSION_DOCUMENT_VIEW, PERMISSION_EVENTS_VIEW diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index 62372f4a46..13351b12fe 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -7,12 +7,13 @@ from events.permissions import PERMISSION_EVENTS_VIEW from navigation import Link from .permissions import ( - PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_VIEW, PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD, - PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_TOOLS, - PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_VERSION_REVERT, - PERMISSION_DOCUMENT_TYPE_EDIT, PERMISSION_DOCUMENT_TYPE_DELETE, - PERMISSION_DOCUMENT_TYPE_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW + PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_PROPERTIES_EDIT, + PERMISSION_DOCUMENT_PRINT, PERMISSION_DOCUMENT_TRANSFORM, + PERMISSION_DOCUMENT_TOOLS, PERMISSION_DOCUMENT_VERSION_REVERT, + PERMISSION_DOCUMENT_VIEW, PERMISSION_DOCUMENT_TYPE_CREATE, + PERMISSION_DOCUMENT_TYPE_DELETE, PERMISSION_DOCUMENT_TYPE_EDIT, + PERMISSION_DOCUMENT_TYPE_VIEW ) from .settings import ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL @@ -51,7 +52,7 @@ link_document_delete = Link(permissions=[PERMISSION_DOCUMENT_DELETE], tags='dang link_document_edit = Link(permissions=[PERMISSION_DOCUMENT_PROPERTIES_EDIT], text=_('Edit properties'), view='documents:document_edit', args='object.id') link_document_document_type_edit = Link(permissions=[PERMISSION_DOCUMENT_PROPERTIES_EDIT], text=_('Change type'), view='documents:document_document_type_edit', args='object.id') link_document_download = Link(permissions=[PERMISSION_DOCUMENT_DOWNLOAD], text=_('Download'), view='documents:document_download', args='object.id') -link_document_print = Link(permissions=[PERMISSION_DOCUMENT_VIEW], text=_('Print'), view='documents:document_print', args='object.id') +link_document_print = Link(permissions=[PERMISSION_DOCUMENT_PRINT], text=_('Print'), view='documents:document_print', args='object.id') link_document_update_page_count = Link(permissions=[PERMISSION_DOCUMENT_TOOLS], text=_('Reset page count'), view='documents:document_update_page_count', args='object.pk') # Views diff --git a/mayan/apps/documents/permissions.py b/mayan/apps/documents/permissions.py index 459d2d2d7e..374a07e9f4 100644 --- a/mayan/apps/documents/permissions.py +++ b/mayan/apps/documents/permissions.py @@ -7,19 +7,20 @@ from permissions.models import PermissionNamespace, Permission document_namespace = PermissionNamespace('documents', _('Documents')) PERMISSION_DOCUMENT_CREATE = Permission.objects.register(document_namespace, 'document_create', _('Create documents')) -PERMISSION_DOCUMENT_PROPERTIES_EDIT = Permission.objects.register(document_namespace, 'document_properties_edit', _('Edit document properties')) -PERMISSION_DOCUMENT_EDIT = Permission.objects.register(document_namespace, 'document_edit', _('Edit documents')) -PERMISSION_DOCUMENT_VIEW = Permission.objects.register(document_namespace, 'document_view', _('View documents')) PERMISSION_DOCUMENT_DELETE = Permission.objects.register(document_namespace, 'document_delete', _('Delete documents')) PERMISSION_DOCUMENT_DOWNLOAD = Permission.objects.register(document_namespace, 'document_download', _('Download documents')) +PERMISSION_DOCUMENT_EDIT = Permission.objects.register(document_namespace, 'document_edit', _('Edit documents')) +PERMISSION_DOCUMENT_NEW_VERSION = Permission.objects.register(document_namespace, 'document_new_version', _('Create new document versions')) +PERMISSION_DOCUMENT_PROPERTIES_EDIT = Permission.objects.register(document_namespace, 'document_properties_edit', _('Edit document properties')) +PERMISSION_DOCUMENT_PRINT = Permission.objects.register(document_namespace, 'document_print', _('Can print documents')) PERMISSION_DOCUMENT_TRANSFORM = Permission.objects.register(document_namespace, 'document_transform', _('Transform documents')) PERMISSION_DOCUMENT_TOOLS = Permission.objects.register(document_namespace, 'document_tools', _('Execute document modifying tools')) PERMISSION_DOCUMENT_VERSION_REVERT = Permission.objects.register(document_namespace, 'document_version_revert', _('Revert documents to a previous version')) -PERMISSION_DOCUMENT_NEW_VERSION = Permission.objects.register(document_namespace, 'document_new_version', _('Create new document versions')) +PERMISSION_DOCUMENT_VIEW = Permission.objects.register(document_namespace, 'document_view', _('View documents')) documents_setup_namespace = PermissionNamespace('documents_setup', _('Documents setup')) -PERMISSION_DOCUMENT_TYPE_VIEW = Permission.objects.register(documents_setup_namespace, 'document_type_view', _('View document types')) -PERMISSION_DOCUMENT_TYPE_EDIT = Permission.objects.register(documents_setup_namespace, 'document_type_edit', _('Edit document types')) -PERMISSION_DOCUMENT_TYPE_DELETE = Permission.objects.register(documents_setup_namespace, 'document_type_delete', _('Delete document types')) PERMISSION_DOCUMENT_TYPE_CREATE = Permission.objects.register(documents_setup_namespace, 'document_type_create', _('Create document types')) +PERMISSION_DOCUMENT_TYPE_DELETE = Permission.objects.register(documents_setup_namespace, 'document_type_delete', _('Delete document types')) +PERMISSION_DOCUMENT_TYPE_EDIT = Permission.objects.register(documents_setup_namespace, 'document_type_edit', _('Edit document types')) +PERMISSION_DOCUMENT_TYPE_VIEW = Permission.objects.register(documents_setup_namespace, 'document_type_view', _('View document types')) diff --git a/mayan/apps/documents/views.py b/mayan/apps/documents/views.py index 571e101d63..a4a0ee7289 100644 --- a/mayan/apps/documents/views.py +++ b/mayan/apps/documents/views.py @@ -44,12 +44,13 @@ from .models import ( DocumentTypeFilename, DocumentVersion, RecentDocument ) from .permissions import ( - PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_VIEW, PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD, - PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_TOOLS, - PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_VERSION_REVERT, - PERMISSION_DOCUMENT_TYPE_EDIT, PERMISSION_DOCUMENT_TYPE_DELETE, - PERMISSION_DOCUMENT_TYPE_CREATE, PERMISSION_DOCUMENT_TYPE_VIEW + PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_PRINT, + PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_TRANSFORM, + PERMISSION_DOCUMENT_TOOLS, PERMISSION_DOCUMENT_TYPE_CREATE, + PERMISSION_DOCUMENT_TYPE_DELETE, PERMISSION_DOCUMENT_TYPE_EDIT, + PERMISSION_DOCUMENT_TYPE_VIEW, PERMISSION_DOCUMENT_VERSION_REVERT, + PERMISSION_DOCUMENT_VIEW, ) from .settings import ( PREVIEW_SIZE, RECENT_COUNT, ROTATION_STEP, ZOOM_PERCENT_STEP, @@ -793,9 +794,9 @@ def document_print(request, document_id): document = get_object_or_404(Document, pk=document_id) try: - Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_PRINT]) except PermissionDenied: - AccessEntry.objects.check_access(PERMISSION_DOCUMENT_VIEW, request.user, document) + AccessEntry.objects.check_access(PERMISSION_DOCUMENT_PRINT, request.user, document) document.add_as_recent_document_for_user(request.user)