From 30d17a3c5d104861bc10c0b931378642c4bbf23e Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 21 May 2015 02:09:46 -0400 Subject: [PATCH] Merge document_acls into documents app --- mayan/apps/document_acls/__init__.py | 15 ------------- mayan/apps/document_acls/links.py | 7 ------ mayan/apps/document_acls/models.py | 1 - mayan/apps/document_acls/urls.py | 8 ------- mayan/apps/document_acls/views.py | 17 -------------- mayan/apps/documents/__init__.py | 33 ++++++++++++++-------------- mayan/apps/documents/links.py | 3 +++ mayan/apps/documents/urls.py | 2 ++ mayan/apps/documents/views.py | 12 ++++++++++ mayan/settings/base.py | 1 - mayan/urls.py | 1 - 11 files changed, 34 insertions(+), 66 deletions(-) delete mode 100644 mayan/apps/document_acls/__init__.py delete mode 100644 mayan/apps/document_acls/links.py delete mode 100644 mayan/apps/document_acls/models.py delete mode 100644 mayan/apps/document_acls/urls.py delete mode 100644 mayan/apps/document_acls/views.py diff --git a/mayan/apps/document_acls/__init__.py b/mayan/apps/document_acls/__init__.py deleted file mode 100644 index a6fea018cf..0000000000 --- a/mayan/apps/document_acls/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -from __future__ import unicode_literals - -from acls.api import class_permissions -from acls.permissions import ACLS_VIEW_ACL, ACLS_EDIT_ACL -from documents.models import Document -from navigation.api import register_links - -from .links import acl_list - -register_links(Document, [acl_list], menu_name='form_header') - -class_permissions(Document, [ - ACLS_VIEW_ACL, - ACLS_EDIT_ACL -]) diff --git a/mayan/apps/document_acls/links.py b/mayan/apps/document_acls/links.py deleted file mode 100644 index 31e8f3f5be..0000000000 --- a/mayan/apps/document_acls/links.py +++ /dev/null @@ -1,7 +0,0 @@ -from __future__ import unicode_literals - -from django.utils.translation import ugettext_lazy as _ - -from acls.permissions import ACLS_VIEW_ACL - -acl_list = {'text': _('ACLs'), 'view': 'document_acls:document_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} diff --git a/mayan/apps/document_acls/models.py b/mayan/apps/document_acls/models.py deleted file mode 100644 index 8f1065d8f9..0000000000 --- a/mayan/apps/document_acls/models.py +++ /dev/null @@ -1 +0,0 @@ -from django.db import models # NOQA diff --git a/mayan/apps/document_acls/urls.py b/mayan/apps/document_acls/urls.py deleted file mode 100644 index dc2f264f79..0000000000 --- a/mayan/apps/document_acls/urls.py +++ /dev/null @@ -1,8 +0,0 @@ -from __future__ import unicode_literals - -from django.conf.urls import patterns, url - -urlpatterns = patterns( - 'document_acls.views', - url(r'^list_for/document/(?P\d+)/$', 'document_acl_list', (), 'document_acl_list'), -) diff --git a/mayan/apps/document_acls/views.py b/mayan/apps/document_acls/views.py deleted file mode 100644 index c3bd4484a1..0000000000 --- a/mayan/apps/document_acls/views.py +++ /dev/null @@ -1,17 +0,0 @@ -from __future__ import unicode_literals - -from django.shortcuts import get_object_or_404 - -from acls.views import acl_list_for -from documents.models import Document - - -def document_acl_list(request, document_id): - document = get_object_or_404(Document, pk=document_id) - return acl_list_for( - request, - document, - extra_context={ - 'object': document, - } - ) diff --git a/mayan/apps/documents/__init__.py b/mayan/apps/documents/__init__.py index f97ed0eeae..14c1f9c511 100644 --- a/mayan/apps/documents/__init__.py +++ b/mayan/apps/documents/__init__.py @@ -5,6 +5,7 @@ import tempfile from django.utils.translation import ugettext_lazy as _ from acls.api import class_permissions +from acls.permissions import ACLS_VIEW_ACL, ACLS_EDIT_ACL from common.classes import ModelAttribute from common.utils import encapsulate, validate_path from dynamic_search.classes import SearchModel @@ -19,16 +20,16 @@ from statistics.classes import StatisticNamespace from documents import settings as document_settings from .links import ( - document_clear_image_cache, document_clear_transformations, - document_content, document_delete, document_document_type_edit, - document_events_view, document_multiple_document_type_edit, - document_download, document_edit, document_list, document_list_recent, - document_multiple_delete, document_multiple_clear_transformations, - document_multiple_download, document_multiple_update_page_count, - document_page_edit, document_page_navigation_first, - document_page_navigation_last, document_page_navigation_next, - document_page_navigation_previous, document_page_rotate_left, - document_page_rotate_right, document_page_text, + document_acl_list, document_clear_image_cache, + document_clear_transformations, document_content, document_delete, + document_document_type_edit, document_events_view, + document_multiple_document_type_edit, document_download, document_edit, + document_list, document_list_recent, document_multiple_delete, + document_multiple_clear_transformations, document_multiple_download, + document_multiple_update_page_count, document_page_edit, + document_page_navigation_first, document_page_navigation_last, + document_page_navigation_next, document_page_navigation_previous, + document_page_rotate_left, document_page_rotate_right, document_page_text, document_page_transformation_list, document_page_transformation_create, document_page_transformation_edit, document_page_transformation_delete, document_page_view, document_page_view_reset, document_page_zoom_in, @@ -66,7 +67,7 @@ register_links([Document], [document_multiple_clear_transformations, document_mu register_links(Document, [document_preview], menu_name='form_header', position=0) register_links(Document, [document_content], menu_name='form_header', position=1) register_links(Document, [document_properties], menu_name='form_header', position=2) -register_links(Document, [document_events_view, document_version_list], menu_name='form_header') +register_links(Document, [document_events_view, document_version_list, document_acl_list], menu_name='form_header') # Document Version links register_links(DocumentVersion, [document_version_revert, document_version_download]) @@ -108,11 +109,11 @@ if (not validate_path(document_settings.CACHE_PATH)) or (not document_settings.C register_setup(document_type_setup) class_permissions(Document, [ - 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_EVENTS_VIEW + ACLS_EDIT_ACL, ACLS_VIEW_ACL, 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_EVENTS_VIEW ]) document_search = SearchModel('documents', 'Document', permission=PERMISSION_DOCUMENT_VIEW, serializer_string='documents.serializers.DocumentSerializer') diff --git a/mayan/apps/documents/links.py b/mayan/apps/documents/links.py index ecddb93d1d..6c72b6fd88 100644 --- a/mayan/apps/documents/links.py +++ b/mayan/apps/documents/links.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals from django.utils.translation import ugettext_lazy as _ +from acls.permissions import ACLS_VIEW_ACL from events.permissions import PERMISSION_EVENTS_VIEW from .permissions import ( @@ -56,6 +57,8 @@ document_clear_transformations = {'text': _('Clear transformations'), 'view': 'd document_multiple_clear_transformations = {'text': _('Clear transformations'), 'view': 'documents:document_multiple_clear_transformations', 'famfam': 'page_paintbrush', 'permissions': [PERMISSION_DOCUMENT_TRANSFORM]} document_print = {'text': _('Print'), 'view': 'documents:document_print', 'args': 'object.id', 'famfam': 'printer', 'permissions': [PERMISSION_DOCUMENT_VIEW]} document_events_view = {'text': _('Events'), 'view': 'events:events_for_object', 'args': ['"documents"', '"document"', 'object.id'], 'famfam': 'book_go', 'permissions': [PERMISSION_EVENTS_VIEW]} +document_acl_list = {'text': _('ACLs'), 'view': 'documents:document_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]} + # Tools document_clear_image_cache = {'text': _('Clear the document image cache'), 'view': 'documents:document_clear_image_cache', 'famfam': 'camera_delete', 'permissions': [PERMISSION_DOCUMENT_TOOLS], 'description': _('Clear the graphics representations used to speed up the documents\' display and interactive transformations results.')} diff --git a/mayan/apps/documents/urls.py b/mayan/apps/documents/urls.py index 51cc15c789..204c6e8f24 100644 --- a/mayan/apps/documents/urls.py +++ b/mayan/apps/documents/urls.py @@ -41,6 +41,8 @@ urlpatterns = patterns( url(r'^document/version/(?P\d+)/download/$', 'document_download', (), 'document_version_download'), url(r'^document/version/(?P\d+)/revert/$', 'document_version_revert', (), 'document_version_revert'), + url(r'^(?P\d+)/acls/$', 'document_acl_list', (), 'document_acl_list'), + url(r'^multiple/clear_transformations/$', 'document_multiple_clear_transformations', (), 'document_multiple_clear_transformations'), url(r'^maintenance/clear_image_cache/$', 'document_clear_image_cache', (), 'document_clear_image_cache'), diff --git a/mayan/apps/documents/views.py b/mayan/apps/documents/views.py index 2c097d0be7..1423cf424c 100644 --- a/mayan/apps/documents/views.py +++ b/mayan/apps/documents/views.py @@ -16,6 +16,7 @@ from django.utils.translation import ugettext_lazy as _, ungettext import sendfile from acls.models import AccessEntry +from acls.views import acl_list_for from common.compressed_files import CompressedFile from common.utils import encapsulate, pretty_size, parse_range, urlquote from common.views import SingleObjectListView @@ -1293,3 +1294,14 @@ def document_page_transformation_delete(request, document_page_transformation_id 'web_theme_hide_menus': True, 'previous': previous, }, context_instance=RequestContext(request)) + + +def document_acl_list(request, document_id): + document = get_object_or_404(Document, pk=document_id) + return acl_list_for( + request, + document, + extra_context={ + 'object': document, + } + ) diff --git a/mayan/settings/base.py b/mayan/settings/base.py index a6e6c5eba0..8e956fac3e 100644 --- a/mayan/settings/base.py +++ b/mayan/settings/base.py @@ -75,7 +75,6 @@ INSTALLED_APPS = ( 'user_management', # Mayan EDMS 'checkouts', - 'document_acls', 'document_comments', 'document_indexing', 'document_signatures', diff --git a/mayan/urls.py b/mayan/urls.py index 13a1170587..6ed8a6a080 100644 --- a/mayan/urls.py +++ b/mayan/urls.py @@ -16,7 +16,6 @@ urlpatterns = patterns( url(r'^checkouts/', include('checkouts.urls', namespace='checkouts')), url(r'^comments/', include('document_comments.urls', namespace='comments')), url(r'^common/', include('common.urls', namespace='common')), - url(r'^document/acls/', include('document_acls.urls', namespace='document_acls')), url(r'^document/signatures/', include('document_signatures.urls', namespace='signatures')), url(r'^document/states/', include('document_states.urls', namespace='document_states')), url(r'^documents/', include('documents.urls', namespace='documents')),