Merge documents and document_acls apps

This commit is contained in:
Roberto Rosario
2015-04-06 16:35:17 -04:00
parent ff3a6c1fb1
commit 3506ed371d
11 changed files with 37 additions and 73 deletions

View File

@@ -1,24 +0,0 @@
from __future__ import unicode_literals
from django import apps
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 import menu_facet
from documents.models import Document
from .links import link_acl_list
class DocumentACLsApp(apps.AppConfig):
name = 'document_acls'
verbose_name = _('Document ACLs')
def ready(self):
class_permissions(Document, [
ACLS_VIEW_ACL,
ACLS_EDIT_ACL
])
menu_facet.bind_links(links=[link_acl_list], sources=[Document])

View File

@@ -1,8 +0,0 @@
from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from acls.permissions import ACLS_VIEW_ACL
from navigation import Link
link_acl_list = Link(permissions=[ACLS_VIEW_ACL], text=_('ACLs'), view='document_acls:document_acl_list', args='object.pk')

View File

@@ -1,7 +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<document_id>\d+)/$', 'document_acl_list', (), 'document_acl_list'),
)

View File

@@ -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,
}
)

View File

@@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _
from actstream import registry
from acls.api import class_permissions
from acls.permissions import ACLS_VIEW_ACL, ACLS_EDIT_ACL
from common import (
MissingItem, menu_facet, menu_front_page, menu_object, menu_secondary,
menu_setup, menu_sidebar, menu_multi_item
@@ -23,12 +24,12 @@ from statistics.classes import StatisticNamespace
from documents import settings as document_settings
from .links import (
link_clear_image_cache, link_document_clear_transformations,
link_document_content, link_document_delete,
link_document_document_type_edit, link_document_events_view,
link_document_multiple_document_type_edit, link_document_download,
link_document_edit, link_document_list, link_document_list_recent,
link_document_multiple_delete,
link_clear_image_cache, link_document_acl_list,
link_document_clear_transformations, link_document_content,
link_document_delete, link_document_document_type_edit,
link_document_events_view, link_document_multiple_document_type_edit,
link_document_download, link_document_edit, link_document_list,
link_document_list_recent, link_document_multiple_delete,
link_document_multiple_clear_transformations,
link_document_multiple_download,
link_document_multiple_update_page_count, link_document_page_edit,
@@ -82,11 +83,15 @@ class DocumentsApp(apps.AppConfig):
ModelAttribute(Document, label=_('Label'), name='label', type_name='field')
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
])
class_permissions(Document, [
ACLS_VIEW_ACL, ACLS_EDIT_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')
@@ -105,16 +110,17 @@ class DocumentsApp(apps.AppConfig):
menu_front_page.bind_links(links=[link_document_list_recent, link_document_list])
menu_setup.bind_links(links=[link_document_type_setup])
# Document
menu_object.bind_links(links=[link_document_edit, link_document_document_type_edit, link_document_print, link_document_delete, link_document_download, link_document_clear_transformations, link_document_update_page_count], sources=[Document])
# Document type links
menu_object.bind_links(links=[link_document_type_edit, link_document_type_filename_list, link_document_type_delete], sources=[DocumentType])
menu_object.bind_links(links=[link_document_type_filename_edit, link_document_type_filename_delete], sources=[DocumentTypeFilename])
menu_secondary.bind_links(links=[link_document_type_list, link_document_type_create], sources=[DocumentType, 'documents:document_type_create', 'documents:document_type_list'])
menu_sidebar.bind_links(links=[link_document_type_filename_create], sources=[DocumentTypeFilename, 'documents:document_type_filename_list', 'documents:document_type_filename_create'])
# Register document facet links
# Document object links
menu_object.bind_links(links=[link_document_edit, link_document_document_type_edit, link_document_print, link_document_delete, link_document_download, link_document_clear_transformations, link_document_update_page_count], sources=[Document])
# Document facet links
menu_facet.bind_links(links=[link_document_acl_list], sources=[Document])
menu_facet.bind_links(links=[link_document_preview], sources=[Document], position=0)
menu_facet.bind_links(links=[link_document_content], sources=[Document], position=1)
menu_facet.bind_links(links=[link_document_properties], sources=[Document], position=2)

View File

@@ -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 navigation import Link
@@ -37,6 +38,7 @@ def is_min_zoom(context):
# Facet
link_document_acl_list = Link(permissions=[ACLS_VIEW_ACL], text=_('ACLs'), view='documents:document_acl_list', args='object.pk')
link_document_content = Link(permissions=[PERMISSION_DOCUMENT_VIEW], text=_('Content'), view='documents:document_content', args='object.id')
link_document_events_view = Link(permissions=[PERMISSION_EVENTS_VIEW], text=_('Events'), view='events:events_for_object', args=['"documents"', '"document"', 'object.id'])
link_document_preview = Link(permissions=[PERMISSION_DOCUMENT_VIEW], text=_('Preview'), view='documents:document_preview', args='object.id')

View File

@@ -28,6 +28,8 @@ urlpatterns = patterns('documents.views',
url(r'^(?P<document_id>\d+)/reset_page_count/$', 'document_update_page_count', (), 'document_update_page_count'),
url(r'^multiple/reset_page_count/$', 'document_multiple_update_page_count', (), 'document_multiple_update_page_count'),
url(r'^(?P<document_id>\d+)/acls/$', 'document_acl_list', (), 'document_acl_list'),
url(r'^(?P<document_id>\d+)/display/$', 'get_document_image', {'size': DISPLAY_SIZE}, 'document_display'),
url(r'^(?P<document_id>\d+)/display/print/$', 'get_document_image', {'size': PRINT_SIZE}, 'document_display_print'),

View File

@@ -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
@@ -1238,3 +1239,14 @@ def document_page_transformation_delete(request, document_page_transformation_id
'document_page': document_page_transformation.document_page},
'transformation': document_page_transformation,
}, 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,
}
)

View File

@@ -77,7 +77,6 @@ INSTALLED_APPS = (
'user_management.apps.UserManagementApp',
# Mayan EDMS
'checkouts.apps.CheckoutsApp',
'document_acls.apps.DocumentACLsApp',
'document_comments.apps.DocumentCommentsApp',
'document_indexing.apps.DocumentIndexingApp',
'document_signatures.apps.DocumentSignaturesApp',

View File

@@ -15,7 +15,6 @@ urlpatterns = patterns('',
url(r'^authentication/', include('authentication.urls', namespace='authentication')),
url(r'^checkouts/', include('checkouts.urls', namespace='checkouts')),
url(r'^comments/', include('document_comments.urls', namespace='comments')),
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')),