Initial commit of the new class based and menu based navigation system
This commit is contained in:
+12
-12
@@ -5,18 +5,18 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from acls.api import class_permissions
|
||||
from acls.permissions import ACLS_EDIT_ACL, ACLS_VIEW_ACL
|
||||
from common.menus import menu_secondary, menu_object, menu_main
|
||||
from common.utils import encapsulate
|
||||
from documents.models import Document
|
||||
from navigation.api import (
|
||||
register_links, register_model_list_columns, register_top_menu
|
||||
)
|
||||
from navigation.api import register_links, register_model_list_columns
|
||||
from navigation.links import link_spacer
|
||||
from rest_api.classes import APIEndPoint
|
||||
|
||||
from .links import (
|
||||
document_folder_list, folder_acl_list, folder_add_document,
|
||||
folder_add_multiple_documents, folder_create, folder_delete,
|
||||
folder_document_multiple_remove, folder_edit, folder_list, folder_view
|
||||
link_folder_list,
|
||||
document_folder_list, link_folder_acl_list, folder_add_document,
|
||||
folder_add_multiple_documents, link_folder_create, link_folder_delete,
|
||||
folder_document_multiple_remove, link_folder_edit, link_folder_view
|
||||
)
|
||||
from .models import Folder
|
||||
from .permissions import (
|
||||
@@ -31,13 +31,13 @@ class FoldersApp(apps.AppConfig):
|
||||
verbose_name = _('Folders')
|
||||
|
||||
def ready(self):
|
||||
register_links(Folder, [folder_view, folder_edit, folder_acl_list, folder_delete])
|
||||
register_links([Folder, 'folders:folder_list', 'folders:folder_create'], [folder_list, folder_create], menu_name='secondary_menu')
|
||||
register_links(['folders:document_folder_list', 'folders:folder_add_document'], [folder_add_document], menu_name="sidebar")
|
||||
register_links(Document, [document_folder_list], menu_name='form_header')
|
||||
register_links([Document], [folder_add_multiple_documents, folder_document_multiple_remove, link_spacer], menu_name='multi_item_links')
|
||||
menu_main.bind_links(links=[link_folder_list])
|
||||
menu_secondary.bind_links(links=[link_folder_list, link_folder_create], sources=[Folder, 'folders:folder_list', 'folders:folder_create'])
|
||||
menu_object.bind_links(links=[link_folder_view, link_folder_edit, link_folder_acl_list, link_folder_delete], sources=[Folder])
|
||||
|
||||
register_top_menu(name='folders', link=folder_list)
|
||||
#register_links(['folders:document_folder_list', 'folders:folder_add_document'], [folder_add_document], menu_name="sidebar")
|
||||
#register_links(Document, [document_folder_list], menu_name='form_header')
|
||||
#register_links([Document], [folder_add_multiple_documents, folder_document_multiple_remove, link_spacer], menu_name='multi_item_links')
|
||||
|
||||
class_permissions(Folder, [
|
||||
ACLS_EDIT_ACL, ACLS_VIEW_ACL, PERMISSION_FOLDER_DELETE,
|
||||
|
||||
@@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from acls.permissions import ACLS_VIEW_ACL
|
||||
from documents.permissions import PERMISSION_DOCUMENT_VIEW
|
||||
from navigation import Link
|
||||
|
||||
from .permissions import (
|
||||
PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_CREATE,
|
||||
@@ -11,14 +12,16 @@ from .permissions import (
|
||||
PERMISSION_FOLDER_REMOVE_DOCUMENT
|
||||
)
|
||||
|
||||
folder_list = {'text': _('Folders'), 'view': 'folders:folder_list', 'icon': 'fa fa-folder'}
|
||||
folder_create = {'text': _('Create folder'), 'view': 'folders:folder_create', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_CREATE]}
|
||||
folder_edit = {'text': _('Edit'), 'view': 'folders:folder_edit', 'args': 'object.pk', 'famfam': 'folder_edit', 'permissions': [PERMISSION_FOLDER_EDIT]}
|
||||
folder_delete = {'text': _('Delete'), 'view': 'folders:folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_DELETE]}
|
||||
link_folder_create = Link(permissions=[PERMISSION_FOLDER_CREATE], text=_('Create folder'), view='folders:folder_create')
|
||||
link_folder_list = Link(icon='fa fa-folder', text=_('Folders'), view='folders:folder_list')
|
||||
|
||||
link_folder_edit = Link(permissions=[PERMISSION_FOLDER_EDIT], text=_('Edit'), view='folders:folder_edit', args='object.pk')
|
||||
link_folder_delete = Link(permissions=[PERMISSION_FOLDER_DELETE], text=_('Delete'), view='folders:folder_delete', args='object.pk')
|
||||
link_folder_view = Link(permissions=[PERMISSION_FOLDER_VIEW], text=_('Documents'), view='folders:folder_view', args='object.pk')
|
||||
link_folder_acl_list = Link(permissions=[ACLS_VIEW_ACL], text=_('ACLs'), view='folders:folder_acl_list', args='object.pk')
|
||||
|
||||
folder_document_multiple_remove = {'text': _('Remove from folder'), 'view': 'folders:folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_REMOVE_DOCUMENT]}
|
||||
folder_view = {'text': _('Documents'), 'view': 'folders:folder_view', 'args': 'object.pk', 'famfam': 'page', 'permissions': [PERMISSION_FOLDER_VIEW]}
|
||||
folder_add_document = {'text': _('Add to a folder'), 'view': 'folders:folder_add_document', 'args': 'object.pk', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
|
||||
folder_add_multiple_documents = {'text': _('Add to folder'), 'view': 'folders:folder_add_multiple_documents', 'famfam': 'folder_add'}
|
||||
document_folder_list = {'text': _('Folders'), 'view': 'folders:document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
|
||||
|
||||
folder_acl_list = {'text': _('ACLs'), 'view': 'folders:folder_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}
|
||||
|
||||
Reference in New Issue
Block a user