Add ACLs to document indexes. Convert all document indexing views to CBV. Remove the document index setup permission. Add view tests to the document indexing app. Use MPTT methods and stop relying on undocumented API.

This commit is contained in:
Roberto Rosario
2016-03-19 02:51:45 -04:00
parent 286a6ba9b8
commit 7cde1fe78f
8 changed files with 287 additions and 166 deletions

View File

@@ -6,6 +6,10 @@ from django.apps import apps
from django.db.models.signals import post_save, post_delete
from django.utils.translation import ugettext_lazy as _
from acls import ModelPermission
from acls.links import link_acl_list
from acls.permissions import permission_acl_edit, permission_acl_view
from common import (
MayanAppConfig, menu_facet, menu_main, menu_object, menu_secondary,
menu_setup, menu_tools
@@ -29,6 +33,11 @@ from .links import (
link_template_node_create, link_template_node_delete,
link_template_node_edit
)
from .permissions import (
permission_document_indexing_create, permission_document_indexing_delete,
permission_document_indexing_edit, permission_document_indexing_view,
permission_document_indexing_rebuild
)
from .widgets import get_instance_link, index_instance_item_link, node_level
@@ -51,6 +60,7 @@ class DocumentIndexingApp(MayanAppConfig):
)
DocumentIndexInstanceNode = self.get_model('DocumentIndexInstanceNode')
Index = self.get_model('Index')
IndexInstance = self.get_model('IndexInstance')
IndexInstanceNode = self.get_model('IndexInstanceNode')
@@ -58,6 +68,16 @@ class DocumentIndexingApp(MayanAppConfig):
APIEndPoint(app=self, version_string='1')
ModelPermission.register(
model=Index, permissions=(
permission_acl_edit, permission_acl_view,
permission_document_indexing_create,
permission_document_indexing_delete,
permission_document_indexing_edit,
permission_document_indexing_view,
)
)
Package(label='Django MPTT', license_text='''
Django MPTT
-----------
@@ -179,7 +199,8 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
menu_object.bind_links(
links=(
link_index_setup_edit, link_index_setup_view,
link_index_setup_document_types, link_index_setup_delete
link_index_setup_document_types, link_acl_list,
link_index_setup_delete
), sources=(Index,)
)
menu_object.bind_links(