Merge documents and document_acls apps
This commit is contained in:
@@ -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])
|
|
||||||
@@ -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')
|
|
||||||
@@ -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'),
|
|
||||||
)
|
|
||||||
@@ -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,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
@@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||||||
from actstream import registry
|
from actstream import registry
|
||||||
|
|
||||||
from acls.api import class_permissions
|
from acls.api import class_permissions
|
||||||
|
from acls.permissions import ACLS_VIEW_ACL, ACLS_EDIT_ACL
|
||||||
from common import (
|
from common import (
|
||||||
MissingItem, menu_facet, menu_front_page, menu_object, menu_secondary,
|
MissingItem, menu_facet, menu_front_page, menu_object, menu_secondary,
|
||||||
menu_setup, menu_sidebar, menu_multi_item
|
menu_setup, menu_sidebar, menu_multi_item
|
||||||
@@ -23,12 +24,12 @@ from statistics.classes import StatisticNamespace
|
|||||||
|
|
||||||
from documents import settings as document_settings
|
from documents import settings as document_settings
|
||||||
from .links import (
|
from .links import (
|
||||||
link_clear_image_cache, link_document_clear_transformations,
|
link_clear_image_cache, link_document_acl_list,
|
||||||
link_document_content, link_document_delete,
|
link_document_clear_transformations, link_document_content,
|
||||||
link_document_document_type_edit, link_document_events_view,
|
link_document_delete, link_document_document_type_edit,
|
||||||
link_document_multiple_document_type_edit, link_document_download,
|
link_document_events_view, link_document_multiple_document_type_edit,
|
||||||
link_document_edit, link_document_list, link_document_list_recent,
|
link_document_download, link_document_edit, link_document_list,
|
||||||
link_document_multiple_delete,
|
link_document_list_recent, link_document_multiple_delete,
|
||||||
link_document_multiple_clear_transformations,
|
link_document_multiple_clear_transformations,
|
||||||
link_document_multiple_download,
|
link_document_multiple_download,
|
||||||
link_document_multiple_update_page_count, link_document_page_edit,
|
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')
|
ModelAttribute(Document, label=_('Label'), name='label', type_name='field')
|
||||||
|
|
||||||
class_permissions(Document, [
|
class_permissions(Document, [
|
||||||
PERMISSION_DOCUMENT_DELETE, PERMISSION_DOCUMENT_DOWNLOAD,
|
])
|
||||||
PERMISSION_DOCUMENT_EDIT, PERMISSION_DOCUMENT_NEW_VERSION,
|
|
||||||
PERMISSION_DOCUMENT_PROPERTIES_EDIT, PERMISSION_DOCUMENT_TRANSFORM,
|
class_permissions(Document, [
|
||||||
PERMISSION_DOCUMENT_VERSION_REVERT, PERMISSION_DOCUMENT_VIEW,
|
ACLS_VIEW_ACL, ACLS_EDIT_ACL, PERMISSION_DOCUMENT_DELETE,
|
||||||
PERMISSION_EVENTS_VIEW
|
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')
|
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_front_page.bind_links(links=[link_document_list_recent, link_document_list])
|
||||||
menu_setup.bind_links(links=[link_document_type_setup])
|
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
|
# 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_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_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_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'])
|
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_preview], sources=[Document], position=0)
|
||||||
menu_facet.bind_links(links=[link_document_content], sources=[Document], position=1)
|
menu_facet.bind_links(links=[link_document_content], sources=[Document], position=1)
|
||||||
menu_facet.bind_links(links=[link_document_properties], sources=[Document], position=2)
|
menu_facet.bind_links(links=[link_document_properties], sources=[Document], position=2)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from __future__ import absolute_import, unicode_literals
|
|||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from acls.permissions import ACLS_VIEW_ACL
|
||||||
from events.permissions import PERMISSION_EVENTS_VIEW
|
from events.permissions import PERMISSION_EVENTS_VIEW
|
||||||
from navigation import Link
|
from navigation import Link
|
||||||
|
|
||||||
@@ -37,6 +38,7 @@ def is_min_zoom(context):
|
|||||||
|
|
||||||
|
|
||||||
# Facet
|
# 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_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_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')
|
link_document_preview = Link(permissions=[PERMISSION_DOCUMENT_VIEW], text=_('Preview'), view='documents:document_preview', args='object.id')
|
||||||
|
|||||||
@@ -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'^(?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'^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/$', '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'),
|
url(r'^(?P<document_id>\d+)/display/print/$', 'get_document_image', {'size': PRINT_SIZE}, 'document_display_print'),
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from django.utils.translation import ugettext_lazy as _, ungettext
|
|||||||
import sendfile
|
import sendfile
|
||||||
|
|
||||||
from acls.models import AccessEntry
|
from acls.models import AccessEntry
|
||||||
|
from acls.views import acl_list_for
|
||||||
from common.compressed_files import CompressedFile
|
from common.compressed_files import CompressedFile
|
||||||
from common.utils import encapsulate, pretty_size, parse_range, urlquote
|
from common.utils import encapsulate, pretty_size, parse_range, urlquote
|
||||||
from common.views import SingleObjectListView
|
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},
|
'document_page': document_page_transformation.document_page},
|
||||||
'transformation': document_page_transformation,
|
'transformation': document_page_transformation,
|
||||||
}, context_instance=RequestContext(request))
|
}, 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,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|||||||
@@ -77,7 +77,6 @@ INSTALLED_APPS = (
|
|||||||
'user_management.apps.UserManagementApp',
|
'user_management.apps.UserManagementApp',
|
||||||
# Mayan EDMS
|
# Mayan EDMS
|
||||||
'checkouts.apps.CheckoutsApp',
|
'checkouts.apps.CheckoutsApp',
|
||||||
'document_acls.apps.DocumentACLsApp',
|
|
||||||
'document_comments.apps.DocumentCommentsApp',
|
'document_comments.apps.DocumentCommentsApp',
|
||||||
'document_indexing.apps.DocumentIndexingApp',
|
'document_indexing.apps.DocumentIndexingApp',
|
||||||
'document_signatures.apps.DocumentSignaturesApp',
|
'document_signatures.apps.DocumentSignaturesApp',
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ urlpatterns = patterns('',
|
|||||||
url(r'^authentication/', include('authentication.urls', namespace='authentication')),
|
url(r'^authentication/', include('authentication.urls', namespace='authentication')),
|
||||||
url(r'^checkouts/', include('checkouts.urls', namespace='checkouts')),
|
url(r'^checkouts/', include('checkouts.urls', namespace='checkouts')),
|
||||||
url(r'^comments/', include('document_comments.urls', namespace='comments')),
|
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/signatures/', include('document_signatures.urls', namespace='signatures')),
|
||||||
url(r'^document/states/', include('document_states.urls', namespace='document_states')),
|
url(r'^document/states/', include('document_states.urls', namespace='document_states')),
|
||||||
url(r'^documents/', include('documents.urls', namespace='documents')),
|
url(r'^documents/', include('documents.urls', namespace='documents')),
|
||||||
|
|||||||
Reference in New Issue
Block a user